7

私の質問は、SearchView wrong alignmentおよびSearchView positions when expanded in ActionBarと密接に関連していますが、そこに投稿された回答はうまくいきません。ActionBarの右側にSearchViewを展開し続ける方法(カスタムアイコンを使用している間)?

だから、私はAction BarSearchViewを使用しています:

<item android:id="@+id/action_search" 
    android:icon="@drawable/navi_search" 
    android:title="@string/action_search" 
    android:showAsAction="ifRoom|collapseActionView" 
    android:actionViewClass="android.widget.SearchView" 
    /> 

それは(メニューをオーバーフローの横右上隅、)、デフォルトでは次のようになります。

enter image description here

問題が拡大されたときSearchViewを右のままにしておきたいのですが、ホームボタン(アプリアイコン)の横の左端に移​​動します。

私はこれらのいずれかにshowAsActionを変えてみました(as suggested here):

android:showAsAction="ifRoom" 
android:showAsAction="always" 

...そして、それが拡大したときに配向を固定しますが、カスタムアイコンをとき折りたたまれた状態でを失っている。

また

enter image description here

、メニュー上android:layout_alignParentRight="true"android:layout_centerInParent="true"ようなもの210は効果がありません。

アイデア?私は、Android 4.0以上を標的にしています

<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" /> 

答えて

8

さてさて、私は道が見つかりました:onCreateOptionsMenu()

を、ものを膨張させ、標準メニューの後、SearchView例えばGravity.RIGHTActionBar.LayoutParamsを設定:

@Override 
public boolean onCreateOptionsMenu(Menu menu) {   
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.main_activity_actions, menu); 

    // ... 

    // Find the SearchView; make it aligned to right, also in expanded mode: 
    MenuItem item = menu.findItem(R.id.action_search); 
    SearchView search = (SearchView) item.getActionView(); 
    search.setLayoutParams(new ActionBar.LayoutParams(Gravity.RIGHT)); 
} 

(メニュー定義のXMLでは、まだ0123を使用しています)

これで、アイコンが表示されている場所と同じ場所にSearchViewが開き、カスタムアイコンがまだ使用されています。それは右へのEditTextを合わせます

android:showAsAction="ifRoom" 

+0

メニューXMLのSearchViewの ''にある 'android:gravity =" right "'もこれを達成すると思いますが、少なくとも私のテストデバイスではそうではありません。 – Jonik

+0

本当に効果がありますか?鋳造の例外はどうですか? –

+0

はい、Android 4.0以降で正常に動作します。このアプローチでは例外がありますか?新しい質問をすることを検討してください。 – Jonik

2

はこのライン

android:showAsAction="ifRoom|collapseActionView" 

を編集してください。

+0

* whole *の質問を読んだことで、私はすでにそれを試したことが分かります。 (それは整列を固定していたが、何とか私のカスタムアイコンが失われた。) – Jonik

関連する問題