0

enter image description hereИзменения NavigationView группа меню делитель цвета в Android программно

В моем проекте я должен изменить цвет зрения навигации группы divider.So я должен изменить в деятельности file.We может изменить цвет статический, как выше picture.I дали зеленый цвет в стилях, но мне нужен делитель должен быть во многих цветах. Любая помощь очень заметна :)

+1

любая фотография вашего ожидаемого выхода? –

+0

@Charu ක я дал зеленый цвет в стиле, но мне нужно применить color dynamicayay.thanks заранее –

+0

оба сразу право? –

ответ

0

следующий код для навигации в макете ящика.

<android.support.design.widget.NavigationView 
    android:id="@+id/nav_view" 
    android:layout_width="259dp" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:background="#f2f2f2" 
    app:headerLayout="@layout/nav_header_daum_map_view_main" 
    app:theme="@style/NavigationItemTheme"/> 

использовать следующую тему стиля в значениях/styles.xml.

<style name="NavigationItemTheme"> 
    <item name="android:textSize">13sp</item> 
    <item name="android:textColor">@color/BlackColor</item> 
    <item name="android:gravity">start</item> 
    <item name="android:layout_gravity">center_vertical</item> 
    <item name="android:listPreferredItemHeightSmall">46dp</item> 
    <item name="android:layout_marginBottom">1dp</item> 
</style> 

Добавить divider цвет фона программно, используя следующий код в классе java.

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); 
navigationView.setBackgroundColor(Color.BLUE);//your color 
navigationView.inflateMenu(R.menu.activity_main_drawer);//your menu layout 
+0

Спасибо за replay.I хочу изменить цвет только разделителя не фон Я использую другой цвет фона. –

1

Вы можете использовать пользовательский макет для вашего ящика и добиться того, что имея в виду, что NavigationDrawer может иметь только два ребенка. Затем вы можете добавить свой собственный делитель и изменить цвет по мере необходимости.

Пример: настроить как вы хотите

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

<FrameLayout 
    android:id="@+id/frame" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

<!-- YOUR DRAWER --> 
<LinearLayout 
    android:id="@+id/drawer_view_lin" 
    android:layout_width="200" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:layout_gravity="start"> 

    <!-- Your Other Views --> 
    <ListView // or any view depending on your requirement 
     android:id="@+id/ListView_one" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:choiceMode="singleChoice" 
     android:divider="@android:color/transparent" 
     android:background="#ffffff"/> 

    <!-- Your Devider View--> 
    <!-- Your Other Views --> 
</LinearLayout> 
</android.support.v4.widget.DrawerLayout> 

Чтобы получить быструю идею, если я делю drawer_view_lin на 5 части (проектирование до вас), как это вы можете добавить сепараторы

enter image description here

+0

Большое вам спасибо, но я не понимаю, как это сделать. Можно ли добавить навигацию к нему? –

+0

@Narender Reddy Это настраиваемый макет. Вы можете сохранить DrawerLayout и установить в нем пользовательский вид, который я сделал. Таким образом, вы можете добавить что угодно, как хотите. –

+0

спасибо большое. Я постараюсь таким образом. –