在NavigationView中将项目垂直居中,并添加最小/最大高度

时间:2018-06-25 14:28:41

标签: android xml android-navigationview

在Android中是否有任何方法可以使NavigationView的内容居中? android:gravitycenter_vertical均不起作用。 centerInParent也不起作用。

我要实现的是BottomNavigationView的设计,但要在横向和屏幕右侧(项目从上到下垂直组织)。

此刻,我的所有物品都从顶部屏幕开始。值得注意的是,我正在尝试匹配给定here的规格。这是我的 XML 代码:

导航:

    <android.support.design.widget.NavigationView xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/nav_show"
        android:layout_width="56sp"
        android:layout_height="match_parent"
        android:layout_alignParentEnd="true"
        android:background="@android:color/white"
        android:theme="@style/RightNav"
        app:itemBackground="@android:color/white"
        app:menu="@menu/nav_items_show" />

这是样式:

<style name="RightNav">
    <item name="android:padding">0sp</item>
    <item name="android:textSize">10sp</item>
</style>

项目:

<menu xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/a1"
        app:actionLayout="@layout/menut_item_a1"
        tools:ignore="MenuTitle" />
    <item
        android:id="@+id/a2"
        app:actionLayout="@layout/menu_item_a2"
        tools:ignore="MenuTitle" />
    <item
        android:id="@+id/a3"
        app:actionLayout="@layout/menu_item_a3"
        tools:ignore="MenuTitle" />
    <item
        android:id="@+id/a4"
        app:actionLayout="@layout/menu_item_a4"
        tools:ignore="MenuTitle" />
    <item
        android:id="@+id/a5"
        app:actionLayout="@layout/menu_item_a5"
        tools:ignore="MenuTitle" />
</menu>

菜单项布局之一(它们都是相同的,只是标题和图标有所不同):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:maxHeight="168dp"
    android:minHeight="80dp"
    android:layout_width="match_parent" android:layout_height="match_parent">
    <ImageView
        android:id="@+id/img"
        android:layout_centerInParent="true"
        android:layout_width="24sp"
        android:layout_height="24sp"
        android:src="@drawable/ic_a1" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="12sp"
        android:layout_centerInParent="true"
        android:layout_below="@+id/img"
        android:textSize="10sp"
        android:textColor="@android:color/black"
        android:text="@string/a1"
        tools:ignore="SmallSp" />
</RelativeLayout>

0 个答案:

没有答案