5

Tôi đang thiết kế ngăn điều hướng gốc trong Android Studio. Tôi không thể thấy ngăn kéo trong bản xem trước của mình vì nó nằm bên trái hoạt động, nằm ngoài phạm vi xem trước. Hiện tại tôi đang sử dụng tệp testlayout.xml để xem các thay đổi của mình, nhưng rất nhiều lần tôi quên sao chép dán chúng vào hoạt động phù hợp. Có cách nào để xem trước bố cục ngăn kéo không?Xem bản xem trước ngăn điều hướng

+1

Chỉ vì lợi ích của kiến ​​thức, Google hiện nay cung cấp một thư viện hỗ trợ thiết kế với mẹ đẻ Navigation Drawer: http://developer.android.com/reference/android/support/design/widget /NavigationView.html?utm_campaign=io15&utm_source=dac&utm_medium=blog – Leonardo

+0

Bản sao có thể có của [Tôi có thể xem trước ngăn điều hướng mở trong Android Studio] hay không (http://stackoverflow.com/questions/30699561/can-i-preview-an-open -navigation-drawer-in-android-studio) – gustavohenke

+0

Nếu câu trả lời của tôi là câu trả lời hay nhất có thể đánh dấu nó là câu trả lời được chấp nhận, vui lòng? – Yoker

Trả lời

4

Nếu bạn muốn để có thể xem trước các thanh bố trí ngăn kéo/navigation

Nếu bạn đang theo dõi hướng dẫn tại https://developer.android.com/training/implementing-navigation/nav-drawer.html

Bạn có thể đặt listview của bạn cho ngăn kéo nav trong một file xml khác nhau trong thư mục/layout, sau đó đưa nó vào bố cục ngăn kéo xml. Có nghĩa là bạn có thể chỉnh sửa nó trong tập tin drawer_layout và có thể nhìn thấy nó đúng

bố trí/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"/> 

Sau đó, trong 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/can-i- preview-an-open-navigation-drawer-trong-android-studio –

0

Để xem NavigationView preview thêm cụ namespace vào bố cục ngăn kéo của bạn:

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

sau đó thêm thuộc tính công cụ: openDrawer bằng nghiêm trọng của giá trị layout_gravity của độ hiển thị Navigation của bạn, ví dụ

<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

Bạn có thể sử dụng NavigationView để có được bản xem trước của nó trên AndroidStudio, nó tốt hơn và dễ dàng hơn để thực hiện thì cũ 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> 

Define menu ở vị trí navigationmenu.xml nó trong thư mục tài nguyên 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> 

Và, để nhận sự kiện nhấp chuột sử dụng này: -

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 Thêm

tools:showIn="navigation_view" 
Các vấn đề liên quan