2015-11-27 24 views
9

seçilen öğe navigasyon çekmecesinde
arasında programlı Öğe rengini değiştirmek için bir yolu var mı?
uygulamayı kullanabilmek için bi'şey: itemTextColor, ama sorun ben bu kullanılırsa, menü öğesi kontrol
vurgulamak olmaz olduğunu.NavigationView (Seçilen Poz Renk Değişimi)

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <group android:checkableBehavior="single"> 
     <item 
      android:id="@+id/nav_home" 
      android:icon="@drawable/ic_home_black_24dp" 
      android:title="Home" /> 
     <item 
      android:id="@+id/nav_search" 
      android:icon="@drawable/ic_search_black" 
      android:title="Search Location" /> 
     <item 
      android:id="@+id/nav_fav" 
      android:icon="@drawable/ic_favorite" 
      android:title="Favorites" /> 
     <item 
      android:id="@+id/nav_route" 
      android:icon="@drawable/ic_place" 
      android:title="Route" /> 

     <item 
      android:id="@+id/nav_recent" 
      android:icon="@drawable/ic_nav_route" 
      android:title="Recent Location" /> 
    </group> 

    <item android:title="Others"> 
     <menu> 
      <item 
       android:id="@+id/nav_settings" 
       android:checked="true" 
       android:checkable="true" 
       android:icon="@drawable/ic_settings" 
       android:title="Settings" /> 
      <item 
       android:id="@+id/nav_about" 
       android:icon="@android:drawable/ic_menu_send" 
       android:title="About" /> 
     </menu> 
    </item> 
</menu> 
+0

Neden u Eh – Tony

+0

istediğini yapmak için daha kolay olurdu navigasyon çekmecesinin içindeki TextView'lar veya liste görünümü ile doğrusal düzenini kullanmayın. Bu benim soruma cevap vermiyor. Maalesef NavigationView –

+1

ile uğraşmak isteyebilirim belki de bu cevap u http://stackoverflow.com/questions/30886453/change-the-color-of-a-checked-menu-item-in-a-navigation için yararlıdır. -drawer – Tony

cevap

23

bir seçicinin

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item android:drawable="@color/primary" android:state_checked="true" /> 
     <item android:drawable="@android:color/transparent" /> 
</selector> 

oluşturmak ve

app:itemBackground="@drawable/nav_view_item_background" 

sonra seçilen öğe vurgulanır ayarlayın.

metin rengi daha sonra

app:itemTextColor="@drawable/nav_view_item_textcolor" 

set değiştirmek ve benzeri bunun için bir seçici oluşturmak istiyorsanız

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item android:color="@android:color/white" android:state_checked="true" /> 
    <item android:color="@color/primary" /> 
</selector> 
+4

Bu da benim için çalıştı, 'app: itemTextColor'' VSG24

0

Not: Yasoda cevabı doğru olan benim için çalıştı değil vakaların çoğu.

state_checked değerini true olarak ayarladım ve çekilemez bir renk vermesine rağmen, öğenin hiçbir zaman kontrol edilmediği görülüyor.

daha bir arama için, ben konu menü öğesiyle şey olmadı bulundu. Menü dosyasındaki menü öğesinde kontrol edilen öğeyi doğru yapmadım.

Sonra buna bir etiket android:checkable=true eklemek zorunda.

ve çekicilik gibi çalışır.

+0

Hayır öyle değil, öğeyi tıkladıktan sonra ASLA orijinal renge döndü. – iBEK