在Android中以编程方式更改NavigationView菜单组分隔符颜色

时间:2017-02-16 05:47:26

标签: android android-navigation-drawer android-navigationview

enter image description here

在我的项目中,我必须更改导航视图组分隔符的颜色。所以我应该更改活动文件。我们可以像上面的图片一样静态地改变颜色。我已经在样式中给出了绿色但我需要分隔符应该在很多colors.Any help非常明显:))

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:-1)

在抽屉布局中使用导航视图的代码。

$wp_query = new WP_Query(array(
            'post_type'         => 'Personal',
            'posts_per_page'    => -1,
            'tax_query'         => array(array('taxonomy' => 'taxonomy_slug_name', 'field' => 'id', 'terms' => $term->term_id )),
            'meta_key'          => 'sorterings_nummer',
            'orderby'           => 'meta_value',
            'ordertax'          => 'DESC',
            'order'             => 'ASC'
        ));

在values / styles.xml中使用以下样式主题。

<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"/>

使用java类中的以下代码以编程方式添加分隔符背景颜色。

<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>