我正在尝试将抽屉导航添加到我的主要 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"
,您将在左侧启动 NavigationView
。
android: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/