1

SearchView ウィジェットが展開されたときに左側に表示されるアプリケーション アイコンを変更するにはどうすればよいでしょうか?

これが私の onCreateOptionsMenu() コードです:

 public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    final TextView tv = (TextView)findViewById(R.id.textView);
    SearchView searchView = (SearchView)menu.findItem(R.id.menu_search).getActionView();
    searchView.setQueryHint("Search");

    return super.onCreateOptionsMenu(menu);
 }

そして、searchView ウィジェットの xml に次のものがあります。

<item android:id="@+id/menu_search" android:title="search"
android:showAsAction="ifRoom|collapseActionView"
android:actionViewClass="android.widget.SearchView" />

また、デフォルトで膨張しているsearch_view.xml(https://github.com/android/platform_frameworks_base/blob/master/core/res/res/layout/search_view.xml#L75 )を調べて、そこから要素を取得して、画像を変更できます。しかし、この xml には、検索ビュー ウィジェットを折りたたむ原因となる要素が見つかりませんでした。

4

1 に答える 1

0

これを試して :

SearchView searchView = new SearchView(getContext());

OptionCommand searchCommand = new OptionCommand();
searchCommand.setActionView(searchView);
searchCommand.setIcon(getResources().getDrawable(android.R.drawable.ic_menu_search));
searchCommand.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
searchView.setBackgroundColor(Color.WHITE);
于 2012-12-17T19:28:53.420 に答える