参见导航抽屉预览

Tom*_*mCB 8 android preview android-studio navigation-drawer drawerlayout

我正在Android Studio中设计原生导航抽屉.我在预览中看不到抽屉,因为它位于活动的左侧,超出预览范围.现在我正在使用testlayout.xml文件来查看我的更改,但很多时候我忘记将它们复制粘贴到正确的活动中.有没有办法预览抽屉布局?

小智 6

要查看 NavigationView 预览,请将工具命名空间添加到您的抽屉布局:

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
Run Code Online (Sandbox Code Playgroud)

然后添加属性tools:openDrawer等于你的导航视图的 layout_gravity 值的重力,例如

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:openDrawer="left">


<android.support.design.widget.NavigationView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="left"
    app:headerLayout="@layout/navigation_header_main"
    app:itemTextAppearance="@style/NavigationItemStyleLight"
    app:menu="@menu/navigation_main_menu"/>

</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)


Yok*_*ker 5

如果您希望能够预览抽屉布局/导航栏

如果您按照https://developer.android.com/training/implementing-navigation/nav-drawer.html上的教程进行操作

您可以将导航抽屉的列表视图放在/ layout文件夹中的不同xml文件中,然后将其包含在抽屉布局xml中.表示您可以在drawer_layout文件中对其进行编辑,并且能够正确查看它

布局/ drawer_layout

<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/left_drawer"
      android:layout_width="280dp"
      android:layout_height="match_parent"
      android:layout_gravity="start"
      android:choiceMode="singleChoice"
      android:divider="@android:color/transparent"
      android:dividerHeight="0dp"
      android:background="@color/nav_drawer_background_color"/>
Run Code Online (Sandbox Code Playgroud)

然后在导航栏中

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<!-- The main content view -->
<FrameLayout
    android:id="@+id/content_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


</FrameLayout>

<!-- The navigation drawer -->
<include
    android:id="@+id/listView"
    layout="@layout/drawer_layout"/>
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)


ANA*_*ONI 5

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

<group android:checkableBehavior="single">
    <item
        android:id="@+id/nav_camera"
        android:icon="@drawable/ic_menu_camera"
        android:title="Import" />
    <item
        android:id="@+id/nav_gallery"
        android:icon="@drawable/ic_menu_gallery"
        android:title="Gallery" />
    <item
        android:id="@+id/nav_slideshow"
        android:icon="@drawable/ic_menu_slideshow"
        android:title="Slideshow" />
    <item
        android:id="@+id/nav_manage"
        android:icon="@drawable/ic_menu_manage"
        android:title="Tools" />
</group>

<item android:title="Communicate">
    <menu>
        <item
            android:id="@+id/nav_share"
            android:icon="@drawable/ic_menu_share"
            android:title="Share" />
        <item
            android:id="@+id/nav_send"
            android:icon="@drawable/ic_menu_send"
            android:title="Send" />
    </menu>
</item>
Run Code Online (Sandbox Code Playgroud)

只需添加

tools:showIn="navigation_view"
Run Code Online (Sandbox Code Playgroud)