android - 应用程序启动时,抽屉导航总是膨胀

标签 android android-layout navigation-drawer

我正在尝试将抽屉导航添加到我的主要 Activity 中。 在 activity_main.xml 的设计 View 中,它应该作为阴影动画显示在 Activity 布局的左侧(我不知道我应该在这里使用什么术语 :| ),在向右拖动/滑动时应该是可见的. 但在我的例子中,它默认覆盖了整个 Activity 并且没有显示 Activity 的实际内容......它应该是......

我已经完成了解决方案 here ,但它对我不起作用。 我的 activity_main.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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.mts3_.p1_d3_app_bar.MainActivity">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >
    <include
        android:id="@+id/app_bar"
        layout="@layout/app_bar"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:id="@+id/tv"
         />

</LinearLayout>


    <android.support.design.widget.NavigationView
        android:id="@+id/navigation_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:menu="@menu/drawer_menu"
        />


</android.support.v4.widget.DrawerLayout>

drawer_menu.xml(布局文件)如下:

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

    <group android:checkableBehavior="single">
        <item android:title="@string/img1"
            android:id="@+id/img11"
            android:icon="@drawable/pic_1"></item>
        <item android:title="@string/img2"
            android:id="@+id/img22"
            android:icon="@drawable/pic_2"></item>
        <item android:title="@string/img3"
            android:id="@+id/img33"
            android:icon="@drawable/pic_3"></item>
        <item android:title="@string/img4"
            android:id="@+id/img44"
            android:icon="@drawable/pic_4"></item>
    </group>
    <item android:title="@string/social">
        <menu>
            <item android:title="@string/add_to_group"
                android:id="@+id/add_to_group"
                android:icon="@drawable/pic_5"></item>
            <item android:title="@string/share"
                android:id="@+id/share"
                android:icon="@drawable/pic_6"></item>

            <item android:title="@string/group"
                android:id="@+id/group"
                android:icon="@drawable/pic_7"></item>

        </menu>


    </item>


</menu>

最佳答案

首先,改变你的高度和宽度 android:layout_width="wrap_content"android:layout_height="match_parent",

其次,在 NavigationView 中设置重力 android:layout_gravity="left"

试试这个。

<android.support.design.widget.NavigationView  
    android:id="@+id/navigation_view"  
    android:layout_width="wrap_content"  
    android:layout_height="match_parent"  
    android:layout_gravity="left"   
    app:menu="@menu/drawer_menu"></android.support.design.widget.NavigationView>  

编辑

如果您在 xml 代码中使用 android:layout_gravity="left",您将在左侧启动 NavigationViewandroid:layout_gravity="left" 与 `android:layout_gravity="start`` 相同。

如果您在 xml 代码中使用 android:layout_gravity="right" ,您将在右侧启动 NavigationView

并在你的代码中使用tools:openDrawer="start",它会显示在android studio的预览中。它不会影响你在你的设备中的显示。

关于android - 应用程序启动时,抽屉导航总是膨胀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47150879/

相关文章:

android - 为 android 无边框按钮添加样式 (android 4.0+)

android - 在布局的绝对中心显示一个矩形框

android - 如何为 Android 抽屉导航添加与标题相邻的图标

android - Android 上的自定义抽屉导航

android - 在 Realm 中使用 'kotlin-kapt' 时构建失败

java - android.content.res.Resources$NotFoundException 异常

java - 默认情况下未选中抽屉导航项目

android - 如何使用抽屉导航根据 fragment 更改菜单

android - 使用分页库更新单个元素的最佳方式

android - 设备方向更改时 xml 不切换