[英]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_main
的NavigationView
,或者将您使用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.