2017-12-06 37 views
0

これは私のmenu.xmlアクションバーのsearchviewのアイコンの色を変更するにはどうすればよいですか?

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto"> 


<item 
    android:id="@+id/action_search" 
    android:icon="@drawable/search_icon" 
    android:title="@string/action_search" 
    app:actionViewClass="android.widget.SearchView" 
    app:showAsAction="always" /> 

<item 
    android:id="@+id/action_favorite" 
    android:icon="@drawable/favorite_icon" 
    android:title="@string/action_favorite" 
    app:showAsAction="always" /> 


<item 
    android:id="@+id/themes" 
    android:title="@string/overflow_menu_item" 
    app:showAsAction="never"> 

<menu> 
     <item 
      android:id="@+id/background1" 
      android:title="Red-PinkGradient" 
      /> 
     <item 
      android:id="@+id/background2" 
      android:title="Red-Gradient" 
      /> 
     <item 
      android:id="@+id/background3" 
      android:title="Green-Gradient" 
      /> 
     <item 
      android:id="@+id/background4" 
      android:title="Black-GreyGradient" 
      /> 
</menu> 

</item> 

<item 
    android:title="@string/overflow_menu_item2" 
    android:id="@+id/settings" 
    /> 

であり、これは私のstyles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="actionOverflowButtonStyle">@style/overFlow</item> 
    <item name="searchViewStyle">@style/CustomSearchViewStyle</item> 

</style> 
<style name="overFlow" parent="@style/Widget.AppCompat.Light.ActionButton.Overflow"> 
    <item name="android:src">@drawable/ic_overflow_icon</item> 
</style> 
<style name="CustomSearchViewStyle" parent="Widget.AppCompat.SearchView"> 
    <item name="queryBackground">@color/white</item> 
    <item name="searchIcon">@drawable/search_icon</item> 
</style> 

どのように私は私のsearchviewのアイコンの色を変えることができるのですか? 私のアイテムのアイコンを白い検索アイコンであるdrawableに設定しようとしましたが、私は黒のままです。 https://imgur.com/a/LCRzt(これは私が今持っているものですが、検索アイコンを白にする必要がある) https://imgur.com/a/Q65lS(結果として望んれているもの)

私はそれが動作する他のアイコンのためではなく、カラーは白になりたいです私のsearchview。

2番目の問題は、検索アイコンをクリックすると、私のオーバーフローが消えてしまいますが、私のお気に入りのアイコンはそこにとどまります。どうすれば消えますか? また、クローズボタンを白くするにはどうしたらいいですか?小さいxアイコンを押すとsearchViewを閉じることができます。 https://imgur.com/a/3EBa4(私が今持っているもの) https://imgur.com/a/CbvqR(私が欲しいもの) どうすればこの問題を解決できますか?事前に

おかげで、 -Vince

答えて

0

あなたがそうするactionViewclassを変更android.support.v7.widget.SearchView

<style name="SearchViewStyle" parent="Widget.AppCompat.SearchView"> 
    <!-- Gets rid of the search icon --> 
    <item name="searchIcon">@drawable/ic_search</item> 
    <!-- Gets rid of the "underline" in the text --> 
    <item name="queryBackground">@color/white</item> 
    <!-- Gets rid of the search icon when the SearchView is expanded --> 
    <item name="searchHintIcon">@null</item> 
    <!-- The hint text that appears when the user has not typed anything --> 
    <item name="queryHint">@string/search_hint</item> 
</style> 
+0

を使用する必要があります。android.support.v7.widget.SearchView? – Vince

+0

アイコンが白に変わりましたが、2番目の問題は、検索アイコンをクリックすると、お気に入りのアイコンがまだアクションバーに表示されています。 – Vince

関連する問題