安卓搜索视图X标记图标

6
我想更改搜索视图组件中显示的白色可绘制对象中的X标记的颜色。如何更改它呢?请帮我一下,谢谢。
   SearchManager searchManager = (SearchManager)getSystemService(Context.SEARCH_SERVICE);
    searchView = (SearchView)menu.findItem(R.id.ac_search).getActionView();     
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
    searchView.setIconifiedByDefault(true); 
    try{
            Field searchField = SearchView.class.getDeclaredField("mSearchButton");
            searchField.setAccessible(true);
            ImageView searchBtn = (ImageView)searchField.get(searchView);
            searchBtn.setImageResource(R.drawable.ac_search);
            searchField = SearchView.class.getDeclaredField("mSearchPlate");
            searchField.setAccessible(true);
            LinearLayout searchPlate = (LinearLayout)searchField.get(searchView);
            searchPlate.setBackgroundResource(R.drawable.search_edit_text_holo_light);

            AutoCompleteTextView searchText = (AutoCompleteTextView) searchView.findViewById(R.id.abs__search_src_text);
            searchText.setHintTextColor(getResources().getColor(android.R.color.white));
            searchText.setHint(R.string.ac_search_here);
            searchText.setTextColor(getResources().getColor(android.R.color.white));

    }catch (NoSuchFieldException e){}catch (IllegalAccessException e){}

请发布您的布局代码。 - GrIsHu
你在布局中是否已经添加了带有X标记的图像? - GrIsHu
发布你的布局代码。 - GrIsHu
@GrIsHu 我该如何更改它? - hpAndro
@GrIsHu,我按照我的风格添加了以下代码: <item name="searchViewSearchIcon">@drawable/abs__ic_voice_search</item> 现在它可以正常工作了… - hpAndro
显示剩余2条评论
1个回答

1
View close = searchPlate.findViewById(R.id.search_close_btn);
close.setBackgroundResource(R.drawable.selectable_background_orange);

或者为searchViewCloseIcon设置样式:
<item name="android:searchViewCloseIcon">@drawable/ic_close</item>
<item name="searchViewCloseIcon">@drawable/ic_close</item> (Support Library)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接