2016-03-29 28 views
0

Gezinme bölümümdeki öğelerimin geri kalanından farklı bir renk vermeyi deniyorum, bu yüzden tüm navigationdrawer'ımın beyaz olmasını, ancak navigationdrawer'da yer alan tüm alt menünün gri olmasını istiyorum. Standart android stüdyo navigasyon çekmecesini kullanıyorum.Gezinme görünümünde bir alt menüye özel bir arka plan rengini nasıl verebilirim?

Kodum: Aşağıda örnek bakarsak

<group android:id="@+id/firstgroup"> 
    <item 
     android:id="@+id/nav_kalender" 
     android:icon="@drawable/ic_menu_kalender" 
     android:title="@string/str_menu_kalender" /> 
    <item android:title="@string/str_menu_title_klassement"> 
     <menu> 
      <item 
       android:id="@+id/nav_indklassement" 
       android:icon="@mipmap/ic_menu_indklassement" 
       android:title="@string/str_menu_indklassement" /> 
      <item 
       android:id="@+id/nav_clubklassement" 
       android:icon="@drawable/ic_menu_clubklassement" 
       android:title="@string/str_menu_clubklassement" /> 
      <item 
       android:id="@+id/nav_nietverwerkteritten" 
       android:icon="@drawable/ic_menu_nietverwerkteritten" 
       android:title="@string/str_menu_nietverwerkteritten" /> 
      <item 
       android:id="@+id/nav_reglement" 
       android:icon="@drawable/ic_menu_reglement" 
       android:title="@string/str_menu_reglement" /> 
      <item 
       android:id="@+id/nav_prijzen" 
       android:icon="@drawable/ic_menu_prijzen" 
       android:title="@string/str_menu_prijzen" /> 
     </menu> 
    </item> 
</group> 

, satır aralarını her şey açık gri arka plan rengini böyle

enter image description here

+0

Olası kopyalar [metin ve Navigasyon görünümüne bağlı Alt Menü simgenin rengini nasıl değiştirilir?] (Http://stackoverflow.com/questions/32994329/how-to-change -renkli-metin-ve-simge-alt-menüye bağlı-navigasyon-görünüm) –

cevap

0
NavigationMenuView navigationMenuView = (NavigationMenuView)navigationView.getChildAt(0); 

NavigationMenuView Eğer ItemDecoration gibi bir ayırıcı ekleyebilirsiniz .Peki Recyclerview uzatılması ama bölücü tüm elemanlarına aksi takdirde ekleniyor eklenmesi gerekir pozisyon için kontrol etmeliyiz.

başka bir yaklaşım yerine böyle navigationdrawer bölümündeki menüyü kullanarak bir liste görünümü kullanabilir yerine tek grup

+0

Bir gruba nasıl daha özel bir fon verirsiniz? –

+0

'OnDraw' öğe dekorasyonunu geçersiz kılabilirsiniz, ancak farklı renklere sahip olmak istiyorsanız bunu her indeks için ayrı ayrı yapmanız gerekir. Bunun daha iyi bir çözüm olacağını düşünmüyorum.Ama deneyebilirsiniz. –

0

olmalıdır.

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 

<group> 
    <item 
     android:id="@+id/nav_home" 
     android:checkable="true" 
     android:icon="@drawable/ic_dashboard" 
     android:title="Home"/> 
    <item 
     android:id="@+id/nav_messages" 
     android:checkable="true" 
     android:icon="@drawable/ic_event" 
     android:title="Messages"/> 
    <item 
     android:id="@+id/nav_friends" 
     android:checkable="true" 
     android:icon="@drawable/ic_headset" 
     android:title="Friends"/> 
    <item 
     android:id="@+id/nav_discussion" 
     android:checkable="true" 
     android:icon="@drawable/ic_forum" 
     android:title="Discussion"/> 
</group> 

<item android:title="Sub items"> 
    <menu> 
     <item 
      android:checkable="true" 
      android:icon="@drawable/ic_dashboard" 
      android:title="Sub item 1"/> 
     <item 
      android:checkable="true" 
      android:icon="@drawable/ic_forum" 
      android:title="Sub item 2"/> 
    </menu> 
</item> 

</menu> 
+0

bu benim soruma cevap değil. –

0

çoklu gruplar kullanmaktır. Böylece, adaptörde şişen xml dosyanızda istediğiniz rengi verebilirsiniz.

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/drawer_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:openDrawer="start"> 

<include 
    layout="@layout/app_bar_main2" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

<android.support.design.widget.NavigationView 
    android:id="@+id/nav_view" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:fitsSystemWindows="true"> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 
     <include layout="@layout/nav_header_main2"/> 
     <ListView 
      android:id="@+id/lst_menu_items" 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1" 
      android:divider="@null" 
      android:dividerHeight="0dp"/> 
     </LinearLayout> 
    <!--app:headerLayout="@layout/nav_header_main2" 
    app:menu="@menu/activity_main2_drawer" >--> 
    </android.support.design.widget.NavigationView> 

ait