繁体   English   中英

如何在菜单项中绘制一条线

[英]How to draw a line in menu item atctive

我想把这个小绿线放在活动的菜单项中......已经有了创建形状和自定义样式但没有成功......

在此输入图像描述

我的activity_main_drawer.xml

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

    <group android:checkableBehavior="single">

        <item
            android:id="@+id/nav_ordem"
            android:checked="true"
            android:title="Home"/>

        <item
            android:id="@+id/nav_auto_infracao"
            android:title="Payment Profile" />
        <item
            android:id="@+id/nav_apreensao_deposito"
            android:title="Payment history" />
        <item
            android:id="@+id/nav_doacao"
            android:title="My card" />
        <item
            android:id="@+id/nav_sincronia"
            android:title="Frinds" />
    </group>

</menu>

尝试使用View绘制线条。

<View
 android:layout_width="match_parent"
 android:layout_height="1dp"
 android:background="@android:color/black" />

解决此问题的一种方法是,您可以通过调用以下方法突出显示该项目,以检测何时更改可见性并定位视图:

onNavigationItemSelected(navigationView.getMenu().getItem(0));

既然您已经提到过您已经拥有了一个形状和一个自定义样式,请将视图(此处为此代码, selectedItemBottomView )放在activity_mainNavigationView ,或者将您使用activity_main_drawer的XML布局文件放在这里:

activity_main

<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.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_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <com.google.android.material.navigation.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:menu="@menu/activity_main_drawer" >

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <View
                    android:id="@+id/selectedItemBottomView"
                    android:layout_width="match_parent"
                    android:layout_height="10dp"
                    android:background="@color/green" />
            </LinearLayout>
        </RelativeLayout>
    </com.google.android.material.navigation.NavigationView>

</androidx.drawerlayout.widget.DrawerLayout>

选中后,根据您的要求更改可见性或位置:

selectedItemBottomView.setVisibility(View.VISIBLE);

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM