2016-02-25 79 views
1

有没有办法改变SearchView扩展后显示的箭头的颜色? enter image description here更改搜索查看回图标颜色

我试过一切都没有结果。这里

+0

见本http://stackoverflow.com/questions/9252354/how-to-customize-the-back-button-on- actionbar – Rohit5k2

回答

1

见阿都拉曼的回答(Styling a SearchView in Android Action Bar

@Override 
    public boolean onCreateOptionsMenu(Menu menu) 
    { 
     getMenuInflater().inflate(R.menu.main_menu, menu); 
     restoreActionBar(); 

     SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); 
     MenuItem searchMenuItem = menu.findItem(R.id.action_search); 
     SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchMenuItem); 
     searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); 

     SearchView.SearchAutoComplete searchAutoComplete = (SearchView.SearchAutoComplete)searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text); 
     searchAutoComplete.setHintTextColor(Color.WHITE); 
     searchAutoComplete.setTextColor(Color.WHITE); 

     View searchplate = (View)searchView.findViewById(android.support.v7.appcompat.R.id.search_plate); 
     searchplate.setBackgroundResource(R.drawable.texfield_searchview_holo_light); 

     ImageView searchCloseIcon = (ImageView)searchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn); 
     searchCloseIcon.setImageResource(R.drawable.clear_search); 

     ImageView voiceIcon = (ImageView)searchView.findViewById(android.support.v7.appcompat.R.id.search_voice_btn); 
     voiceIcon.setImageResource(R.drawable.abc_ic_voice_search); 

     ImageView searchIcon = (ImageView)searchView.findViewById(android.support.v7.appcompat.R.id.search_mag_icon); 
     searchIcon.setImageResource(R.drawable.abc_ic_search); 


     return super.onCreateOptionsMenu(menu); 
    } 
0

这里是另一种方法:

<style name="ActivityTheme" parent="@android:style/Theme.DeviceDefault.Light"> 
    <item name="android:actionBarTheme">@style/searchActionBarTheme</item> 
</style> 

<style name="searchActionBarTheme" parent="@android:style/ThemeOverlay.Material.Dark.ActionBar"> 
    <item name="android:textColorPrimary">@color/back_key_color</item> <!-- back key color defined here!! --> 
    <item name="android:actionBarWidgetTheme">@style/searchViewTheme</item> 
</style> 

<style name="searchViewTheme" parent="@android:style/ThemeOverlay.Material.Light"> 
    <item name="android:editTextColor">@color/edit_text_color</item> 
    <item name="android:colorControlActivated">@color/search_cursor_color</item> 
</style> 

使用ActivityTheme中的Manifest.xml

您的活动
1

改回图标颜色添加android.support.v7.widget.Toolbar工具栏

app:collapseIcon="@drawable/back_arrow" 

还要改变关闭按钮图标添加以下代码段

ImageView searchClose = searchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn); 
searchClose.setImageResource(R.drawable.close); 
+1

简短,清晰和工作的答案像老板! – Xenolion

+1

非常感谢@Xenolion – MashukKhan