【问题标题】:Android Navigation Drawer selected item is totally overlayedAndroid Navigation Drawer 所选项目完全覆盖
【发布时间】:2016-07-29 10:04:58
【问题描述】:

我正在第一次使用带有 Material Design 库的新导航抽屉测试一个应用程序。

我的问题是,当我选择一个项目时,包括图标在内的整个选定项目都被完全覆盖,如下图所示。 我的错误可能是什么?我尝试了几件事,但都没有成功。

这是带有导航抽屉的 XML:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.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" />

    <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"
        />
</android.support.v4.widget.DrawerLayout>

【问题讨论】:

    标签: android material-design navigation-drawer


    【解决方案1】:
    <include
            layout="@layout/app_bar_main"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    
        <android.support.design.widget.NavigationView
            android:id="@+id/nav_view"
            android:layout_width="200dp"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:divider="#FFFFFF"
            android:fitsSystemWindows="true"
            android:background="@drawable/side_nav_bar"
            app:itemTextColor="#FFFFFF"
            app:headerLayout="@layout/nav_header_main"
            app:menu="@menu/activity_main_drawer"
            app:itemBackground="@drawable/drawer_item_background"
            />
    

    在@layout/nav_header_main 中,您可以创建包含导航抽屉标题部分的xml 文件。

    对于drawer_item_background-- 在drawable文件夹中创建xml文件并粘贴以下代码:

    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item>
            <shape android:shape="rectangle" >
                <solid android:color="@color/colorPrimary" />
            </shape>
        </item>
    
        <item android:top="-2dp" android:right="-2dp" android:left="-2dp">
            <shape>
                <solid android:color="@android:color/transparent" />
                <stroke
                    android:width="1dp"
                    android:color="#48607B" />
            </shape>
    
        </item>
    
    </layer-list>
    

    app:menu 包含导航抽屉中的菜单项。 这可能看起来像这样:

    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android">
    
        <group android:checkableBehavior="single">
            <item
                android:id="@+id/nav_dashboard"
                android:title="Dashboard" />
            <item
                android:id="@+id/nav_my_m3_account"
                android:title="@string/my_account_fragment" />
            <item
                android:id="@+id/nav_notification_settings"
                android:title="Notification Settings" />
    
            <item
                android:id="@+id/nav_faq"
                android:title="FAQ" />
            <item
                android:id="@+id/nav_terms_condition"
                android:title="Terms &amp; Conditions" />
            <item
                android:id="@+id/nav_privacy_policy"
                android:title="Privacy Policy" />
            <item
                android:id="@+id/nav_logout"
                android:title="Log Out" />
    
        </group>
    </menu>
    

    【讨论】:

    • 没有帮助。现在所有项目都有背景颜色。我的问题是,当一个项目被选中时,我看不到所选内容下的图标和文本。
    【解决方案2】:

    在尝试减少外部库后,我发现这个库是问题所在:

    it.sephiroth.android.library.targettooltip

    但我不知道如何修复它。所以我会删除这个库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-04
      • 2020-12-11
      • 1970-01-01
      相关资源
      最近更新 更多