NavigationView:使用APP:ActionLayout自定义项目布局如何?

NavigationView: custom item layout with app:actionLayout how to?(NavigationView:使用APP:ActionLayout自定义项目布局如何?)
本文介绍了NavigationView:使用APP:ActionLayout自定义项目布局如何?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

根据最近Ian Lake的帖子

如果你最近没有看过NavigationView,它实际上是 版本23.1.0[1]中有相当大的更新,增加了 App:ActionLayout支持自定义视图。

如何在NavigationView中使用app:actionLayout

使用

<group android:checkableBehavior="single">
    <item
        android:id="@+id/navigation_drawer_item_1"
        android:icon="@drawable/ic_menu_1"
        android:title="@string/navigation_drawer_item_1"
        app:actionLayout="@layout/menu_test_1"
        />
    <item
        android:id="@+id/navigation_drawer_item_2"
        android:icon="@drawable/ic_menu_2"
        android:title="@string/navigation_drawer_item_2"
        app:actionLayout="@layout/menu_test_1"
        />
</group>

<android.support.design.widget.NavigationView android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/activity_main_drawer">

它不起作用。 它在项目的右侧显示了action Layout。 同时删除android:iconandroid:title似乎不起作用。

我如何修复它?

谢谢 问候

推荐答案

我通过删除android:TITLE中的所有文本解决了此问题。

NavigationView:

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/activity_main_drawer" />

菜单编码(ACTIVATION_MAIN_DRAUER):

<?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_item1"
            app:showAsAction="always"
            android:title=""
            app:actionLayout="@layout/menu_item_layout" />
    </group>
</menu>

Menu_Item_Layout:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView android:id="@+id/item_text"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center_vertical"
        android:text="Item text" />
</RelativeLayout>

这篇关于NavigationView:使用APP:ActionLayout自定义项目布局如何?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

How to target newer versions in .gitlab-ci.yml using auto devops (java 11 instead of 8 and Android 31 instead of 29)(如何在.gitlab-ci.yml中使用自动开发工具(Java 11而不是8,Android 31而不是29)瞄准较新的版本)
Android + coreLibraryDesugaring: which Java 11 APIs can I expect to work?(Android+core LibraryDesugering:我可以期待哪些Java 11API能够工作?)
How to render something in an if statement React Native(如何在If语句中呈现某些内容Reaction Native)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)
Using Firebase Firestore in offline only mode(在仅脱机模式下使用Firebase FiRestore)
Crash on Google Play Pre-Launch Report: java.lang.NoSuchMethodError(Google Play发布前崩溃报告:java.lang.NoSuchMethodError)