我想将Settings
徽标更改为Search
徽标。我尝试在xml中进行以下更改,但它似乎不起作用。谁能建议我做什么?
我的xml如下:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:icon="@android:drawable/btn_minus"
android:title="@android:string/search_go"/>
</menu>
答案 0 :(得分:0)
如果您使用操作栏
,请使用此选项
<item
android:id="@+id/grid_default_search"
android:icon="@android:drawable/ic_menu_search"
android:title="search"
android:showAsAction="always"
android:actionViewClass="android.widget.SearchView"
/>
<!-- other items or whatever -->
在您的活动中
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.grid_default, menu);
SearchView searchView = (SearchView)menu.findItem(R.id.grid_default_search).getActionView();
searchView.setOnQueryTextListener(queryListener);
}
final private OnQueryTextListener queryListener = new OnQueryTextListener() {
@Override
public boolean onQueryTextChange(String newText) {
//Logic
return false;
}
@Override
public boolean onQueryTextSubmit(String query) {
//Logic
return false;
}
};
答案 1 :(得分:0)
1)转到:https://developer.android.com/design/downloads/index.html
2)下载“Action Bar Icon Pack”
3)将ic_action_search放在drawable目录中
4)然后:android:icon="@drawable/ic_action_search"
如果不起作用,请尝试:your_app_name:showAsAction="always"
您可以阅读documentation:
请注意,上面的showAsAction属性使用自定义命名空间 在标签中定义。使用任何XML时都需要这样做 由支持库定义的属性,因为这些属性可以 旧设备上的Android框架中不存在。所以你必须使用 您自己的命名空间作为由...定义的所有属性的前缀 支持图书馆。