Android 在Actionbar中更改搜索图标
我使用以下代码将搜索添加到操作栏: 活动\u main\u actions.xml searchable.xmlAndroid 在Actionbar中更改搜索图标,android,search,android-actionbar,Android,Search,Android Actionbar,我使用以下代码将搜索添加到操作栏: 活动\u main\u actions.xml searchable.xml @Override public boolean onOptionsItemSelected(MenuItem item) { // Take appropriate action for each action item click switch (item.getItemId()) { case R.id.action_search:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Take appropriate action for each action item click
switch (item.getItemId()) {
case R.id.action_search:
// search action
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Manifest.xml
<activity
android:name="com.emy.healthytips.MainActivity"
android:label="@string/app_name"
android:configChanges="keyboardHidden|orientation|screenSize"
android:launchMode="singleTop">
<meta-data
android:name="android.app.default_searchable"
android:value=".MainActivity" />
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
</activity>
我的搜索效果很好,但在操作栏中搜索的图标仍然是“灰色图标”,如下面的截图所示,尽管我在中添加了自己的图标
这个问题可能与您的问题有关。请检查一下
感谢您的回答,您链接中的第二个答案对我很有帮助。但如果搜索图标的id为:searchImgId=getResources().getIdentifier(“android:id/search_按钮”,null,null),我还有一个问题代码>关闭搜索栏的图标的id是什么?在搜索配置的可搜索标记中,有一个名为icon的标记。你可以用它来设置你自己的。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Take appropriate action for each action item click
switch (item.getItemId()) {
case R.id.action_search:
// search action
return true;
default:
return super.onOptionsItemSelected(item);
}
}
<activity
android:name="com.emy.healthytips.MainActivity"
android:label="@string/app_name"
android:configChanges="keyboardHidden|orientation|screenSize"
android:launchMode="singleTop">
<meta-data
android:name="android.app.default_searchable"
android:value=".MainActivity" />
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
</activity>