我用以下代码在Action bar中添加了一个搜索框:
activity_main_actions.xml
搜索功能已经正常运行,但是在操作栏中的搜索图标仍然是灰色的,如下截图所示。尽管我已经在以下代码中添加了自己的图标:
请问我该如何添加自己的图标?
activity_main_actions.xml
<!-- Search -->
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
android:showAsAction="ifRoom"
android:actionViewClass="android.widget.SearchView"/>
<!-- Add -->
<item android:id="@+id/action_add_tip"
android:icon="@drawable/header_add"
android:title="@string/action_add_tip"
android:showAsAction="ifRoom" />
<!-- Count -->
<item android:id="@+id/action_count_tip"
android:icon="@drawable/header_count"
android:title="@string/action_count_tip"
android:showAsAction="ifRoom" />
在MainActivity.java文件中
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.activity_main_actions, menu);
// Associate searchable configuration with the SearchView
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
return super.onCreateOptionsMenu(menu);
}
@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);
}
}
searchable.xml
@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>
搜索功能已经正常运行,但是在操作栏中的搜索图标仍然是灰色的,如下截图所示。尽管我已经在以下代码中添加了自己的图标:
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
请问我该如何添加自己的图标?
searchImgId = getResources().getIdentifier("android:id/search_button", null, null);
那么关闭搜索栏的图标的ID是什么? - Eman87