Ali*_*aka 1 android android-actionbar searchview
将SearchView添加到菜单时(请参见下面的示例),它的图标不会更改,并且它以非标准方式运行.例如,长按搜索菜单按钮应该弹出文本搜索,但它不会.
如何将其行为更改为更标准?(图标和长按现在.我确定还有其他问题)
用于添加视图的代码示例:
MenuItem item = menu.add("Search");
SearchView sv = new SearchView(getActivity());
item.setActionView(sv);
item.setIcon(drawable.menu_search);
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
Run Code Online (Sandbox Code Playgroud)
谢谢.
更新:可以从代码中获得.您必须添加MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW和更改的情况下SearchView到getActionBar().getThemedContext().
MenuItem item = menu.add("Search");
SearchView sv = new SearchView(getActionBar().getThemedContext());
item.setActionView(sv);
item.setIcon(R.drawable.ic_search);
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
| MenuItem.SHOW_AS_ACTION_IF_ROOM);
Run Code Online (Sandbox Code Playgroud)
您正尝试SearchView从代码创建操作项,而不是建议的方法.定义包含搜索项的菜单资源,如下所示:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/search"
android:actionViewClass="android.widget.SearchView"
android:icon="@drawable/ic_search"
android:showAsAction="collapseActionView|ifRoom"
android:title="@string/search_title"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
给它充气onCreateOptionsMenu:
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
这将解决问题.有关更多信息,请参阅Android文档中的将搜索视图添加到操作栏.
| 归档时间: |
|
| 查看次数: |
2376 次 |
| 最近记录: |