5

Ich entwerfe eine native Navigationsleiste in Android Studio. Ich kann die Schublade in meiner Vorschau nicht sehen, da sie links von der Aktivität außerhalb des Vorschaubereichs liegt. Momentan verwende ich eine testlayout.xml-Datei, um meine Änderungen zu sehen, aber oft vergesse ich, sie in die richtige Aktivität einzufügen. Gibt es eine Möglichkeit, eine Vorschau des Schubladenlayouts anzuzeigen?Siehe Navigationsleiste Vorschau

+1

Nur um des Wissens, bietet Google nun ein Design Support-Bibliothek mit nativem Navigationsleiste: http://developer.android.com/reference/android/support/design/widget /NavigationView.html?utm_campaign=io15&utm_source=dac&utm_medium=blog – Leonardo

+0

Mögliches Duplikat von [Kann ich eine geöffnete Navigationsschublade in Android Studio in der Vorschau anzeigen] (http://stackoverflow.com/questions/30699561/can-i-preview-an-open -Navigation-Schublade-in-Android-Studio) – gustavohenke

+0

Wenn meine Antwort ist die beste Antwort kann es als die akzeptierte Antwort bitte markieren? – Yoker

Antwort

4

Wenn Sie die Schublade Layout/Navigationsleiste in der Lage sein

in der Vorschau Wenn Sie nach dem Tutorial auf https://developer.android.com/training/implementing-navigation/nav-drawer.html

Sie Ihre Listenansicht für die nav Schublade in einer anderen XML-Datei setzen können im Ordner/layout, und fügen Sie sie dann in das XML-Layout des Fachs ein. Bedeutet, dass Sie es in der drawer_layout Datei bearbeiten können und in der Lage sein, es

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

Dann in der 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> 
+0

http://Stackoverflow.com/questions/30699561/cani- Vorschau-ein-Öffnen-Navigation-Schublade-in-Android-Studio –

0

richtig sehen zu NavigationView Vorschau hinzufügen Tools Namespace zu sehen zu Ihrer Schublade Layout:

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

fügen Sie dann Attribut Werkzeuge: openDrawer gleich Gewicht von layout_gravity Wert Ihrer Ansicht Navigation, zum Beispiel

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

Sie können NavigationView verwenden seine Vorschau auf Android Studio zu bekommen, Es ist viel besser und einfacher zu implementieren dann die alte NavigationsDrawers.

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:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:openDrawer="start"> 

    <include 
     layout="@layout/prof_app_bar" 
     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:itemTextColor="@color/text_head_color" 
     app:itemIconTint="@null" 
     app:headerLayout="@layout/nav_header_main2" 
     app:menu="@menu/professional_menu" /> 
</android.support.v4.widget.DrawerLayout> 

das Menü in navigationmenu.xml Ort definieren es in Menü Ressourcenordner: -

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


    <group android:checkableBehavior="single" 
     android:id="@+id/top_menu"> 
     <item 
      android:id="@+id/pnav_setting" 
      android:icon="@drawable/accountsettings" 
      android:title="@string/paccount_settingss" /> 
     <item 
      android:id="@+id/pnav_expertise" 
      android:icon="@drawable/professional" 
      android:title="@string/pexpertise" /> 
     <item 
      android:id="@+id/pnav_comu" 
      android:icon="@drawable/communication" 
      android:title="@string/pcomunication" /> 
     <item 
      android:id="@+id/pnav_change_pass" 
      android:icon="@drawable/changepasswd" 
      android:title="@string/pchange_pass" /> 
     <item 
      android:id="@+id/pnav_change_lang" 
      android:icon="@drawable/changelang" 
      android:title="@string/pchange_lang" 
      android:visible="true"/> 
    </group> 

    <group android:checkableBehavior="single" 
     android:id="@+id/middle_menu"> 

     <item 
      android:id="@+id/pnav_about_us" 
      android:icon="@drawable/aboutus" 
      android:title="@string/about_us" /> 
     <item 
      android:id="@+id/pnav_feedback" 
      android:icon="@drawable/feedback" 
      android:title="@string/feedback" 
      android:visible="false"/> 
     <item 
      android:id="@+id/nav_privacy_policy" 
      android:icon="@drawable/privacy" 
      android:title="@string/privacy_policy" /> 
     <item 
      android:id="@+id/pnav_faq" 
      android:icon="@drawable/faq" 
      android:visible="false" 
      android:title="@string/faq" /> 
     <item 
      android:id="@+id/pnav_contact_us" 
      android:icon="@drawable/contactus" 
      android:title="@string/contact_us" /> 

    </group> 

    <group android:checkableBehavior="single" 
     android:id="@+id/bottom_menu"> 
     <item 
      android:id="@+id/pnav_sign_out" 
      android:icon="@drawable/signout" 
      android:title="@string/sign_out" /> 
    </group> 



</menu> 

Und für Click-Ereignisse immer nutzen dies: -

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); 
    navigationView.setNavigationItemSelectedListener(yourItemclickListener); 
0
<?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> 

addieren gerade

tools:showIn="navigation_view"