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
Odpowiedz
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>
http://stackoverflow.com/questions/30699561/can-i- Podgląd-otwarty-nawigacja-szuflada-w-android-studio –
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>
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);
<?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"
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
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
Jeśli moja odpowiedź jest najlepszą odpowiedzią, proszę oznaczyć ją jako zaakceptowaną odpowiedź? – Yoker