Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

See navigation drawer preview

I'm designing a native navigation drawer in Android Studio. I can't see the drawer in my preview because it is sitting left of the activity, out of range of the preview. For now I'm using a testlayout.xml file to see my changes, but a lot of times I forget to copy paste them into the right activity. Is there a way to preview the drawer layout?

like image 578
TomCB Avatar asked Mar 31 '15 12:03

TomCB


3 Answers

<?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>

Just Add

tools:showIn="navigation_view"
like image 149
ANAND SONI Avatar answered Oct 16 '22 11:10

ANAND SONI


To see NavigationView preview add tools namespace to your drawer layout:

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

then add attribute tools:openDrawer equal to gravity of layout_gravity value of your Navigation view, for example

<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>
like image 30
Tomek Gozdek Avatar answered Oct 16 '22 12:10

Tomek Gozdek


If you want to be able to preview the drawer layout / navigation bar

If you are following the tutorial at https://developer.android.com/training/implementing-navigation/nav-drawer.html

You can put your listview for the nav drawer in a different xml file in the /layout folder, then include it in the drawer layout xml. Means you can edit it in the drawer_layout file and be able to see it properly

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"/>

Then in the navbar

<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>
like image 38
Yoker Avatar answered Oct 16 '22 13:10

Yoker