5

Projektuję natywną szufladę nawigacji w Android Studio. Nie widzę szuflady w moim podglądzie, ponieważ znajduje się ona poza działaniem poza zakresem podglądu. Na razie używam pliku testlayout.xml, aby zobaczyć moje zmiany, ale wiele razy zapominam skopiować, wkleić je do właściwego działania. Czy istnieje sposób podglądu układu szuflady?Podgląd podglądu szuflady nawigacji

+1

Właśnie przez wzgląd na wiedzy, Google oferuje teraz bibliotekę wsparcia projektu z natywnym Nawigacji szuflady: http://developer.android.com/reference/android/support/design/widget /NavigationView.html?utm_campaign=io15&utm_source=dac&utm_medium=blog – Leonardo

+0

Możliwy duplikat [Czy mogę wyświetlić podgląd otwartej szuflady nawigacji w Android Studio] (http://stackoverflow.com/questions/30699561/can-i-preview-an-open -navigation-drawer-in-android-studio) – gustavohenke

+0

Jeśli moja odpowiedź jest najlepszą odpowiedzią, proszę oznaczyć ją jako zaakceptowaną odpowiedź? – Yoker

Odpowiedz

4

Jeśli chcesz mieć możliwość podglądu paska układ szuflada/nawigacji

Jeśli po tutorialu na https://developer.android.com/training/implementing-navigation/nav-drawer.html

można umieścić ListView do szuflady nav w innym pliku xml w folderze/layout, a następnie umieść go w układzie xml szuflady. Oznacza, że ​​można go edytować w pliku drawer_layout i móc go zobaczyć prawidłowo

układ/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"/> 

Następnie w pasku nawigacyjnym

<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/can-i- Podgląd-otwarty-nawigacja-szuflada-w-android-studio –

0

Aby zobaczyć NavigationView podgląd dodać narzędzi nazw do układu szuflady:

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

następnie dodać atrybut narzędzi: openDrawer równą wagę wartości layout_gravity z widoku nawigacji, na przykład

<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

Można użyć NavigationView aby uzyskać jego podgląd na AndroidStudio, jego dużo lepsze i łatwiejsze do wdrożenia wtedy stary NavigationDrawer.

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> 

Definiowanie menu w navigationmenu.xml umieścić go w folderze zasobów menu: -

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

A dla uzyskania zdarzenia kliknij opcję Użyj tego: -

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> 

Just Add

tools:showIn="navigation_view"