【问题标题】:Android: Customize SearchView WidgetAndroid:自定义 SearchView 小部件
【发布时间】:2012-07-31 21:40:12
【问题描述】:

如何更改 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);
 }

我在 xml 中有以下 searchView 小部件:

<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 中找不到任何负责折叠搜索视图小部件的元素。

【问题讨论】:

  • 你能贴一张图片,或者你正在尝试的代码吗?

标签: android searchview


【解决方案1】:

试试这个:

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);

【讨论】:

    猜你喜欢
    • 2017-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    相关资源
    最近更新 更多