我正在为我的应用程序实现搜索,我遇到了这个问题。如何更改“可搜索”的默认放大镜?默认看起来很大而且很脏,我更喜欢使用我用于菜单图标的相同drawable。
在Searchable Configuration - Android Developer网站中搜索“图标”不会产生任何有用的信息。我还尝试将android:icon
(这是Structure
标签中的一个选项)添加到我的可搜索定义中,但它无效。
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:hint="@string/search_hint"
android:icon="@drawable/ic_custom_test"
android:includeInGlobalSearch="true"
android:label="@string/search_label"
android:searchSettingsDescription="@string/settings_description"
android:searchSuggestAuthority="com.test.provider.SuggestionProvider"
android:searchSuggestIntentAction="android.intent.action.VIEW"
android:searchSuggestIntentData="content://com.test.provider.SuggestionProvider/info"
android:searchSuggestSelection=" ?"
android:searchSuggestThreshold="1" >
</searchable>
提前感谢您的帮助!
答案 0 :(得分:0)
实施您自己的搜索视图,从菜单文件夹中的main.xml / activity_main(您的布局文件名)中删除搜索项,然后创建一个新项目和您自己的搜索图标,。,
使用iconfinder.com获取不同的图标。
在您的活动中,在选项方法中,创建一个开关案例,并在您点击此项目时添加功能。,
答案 1 :(得分:0)
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
SearchManager localSearchManager1 = (SearchManager)getSystemService("search");
SearchView localSearchView1 = (SearchView)menu.findItem(R.id.search).getActionView();
localSearchView1.setSearchableInfo(localSearchManager1.getSearchableInfo(getComponentName()));
localSearchView1.setIconifiedByDefault(true);
if (Build.VERSION.SDK_INT >= 11)
{
SearchManager localSearchManager2 = (SearchManager)getSystemService("search");
SearchView localSearchView2 = (SearchView)menu.findItem(R.id.search).getActionView();
localSearchView2.setSearchableInfo(localSearchManager2.getSearchableInfo(getComponentName()));
localSearchView2.setIconifiedByDefault(true) ;
}