如何在底部导航视图的每个项目名称下方添加行(视图)?

时间:2019-06-21 10:13:37

标签: java android

我想在项目的每个名称下方添加一行。如何使用底部导航视图执行此操作?图像在项目名称下方有一条橙色线。因此,它仅对所选项目可见。我已经完成了线性布局。我需要使用底部导航视图。

请检查这张图片。我为此使用了选择器功能

  

属性app:itemBackground =“ @ drawable / selector”

1 个答案:

答案 0 :(得分:1)

为此:

enter image description here

  1. 创建2个可绘制对象,1个白色对象和1个不带下划线的对象
  • 热线:
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape android:shape="rectangle">
                <solid android:color="#FFFFFF" />
            </shape>
        </item>
        <item
            android:right="20dp"
            android:left="20dp">
            <shape>
                <stroke
                    android:width="4dp"
                    android:color="@color/bottom_sheet_divider" />
                <solid android:color="@color/transparent" />
            </shape>
        </item>
        <item
            android:bottom="4dp">
            <shape>
                <solid android:color="@android:color/white" />
            </shape>
    
        </item>
    </layer-list>
  • 无行:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle" >
            <solid android:color="#FFFFFF" />
        </shape>
    </item>
    <item android:top="-41dp" android:right="-41dp" android:left="-41dp">
        <shape>
            <solid android:color="@android:color/transparent" />
            <stroke
                android:width="4dp"
                android:color="#FFFFFF" />
        </shape>
    </item>
</layer-list>
  1. 创建可绘制的可绘制检查状态
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/line_selected" android:state_checked="true"/>
    <item android:drawable="@drawable/line_unselected" android:state_checked="false"/>
</selector>
  1. 在BottomNavigationView上添加此可绘制对象
<com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/bottom_navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:labelVisibilityMode="labeled"
        app:layout_constraintBottom_toBottomOf="parent"
--->    app:itemBackground="@drawable/item_line"
        app:menu="@menu/bottom_navigation_menu" />