2016-12-20 4 views
0

I 등의 기본 활동을 표시하는 응용 프로그램이 있습니다버튼의 이미지에서와 같이 서랍을로드하는 방법을 클릭

: 햄버거 아이콘을 클릭

default_activity

과 같이 왼쪽 기본 탐색 서랍을 엽니 다

navigation_drawer

그리고 클릭하면 필터 버튼은 오른쪽에서 다른 서랍을 엽니 다

filter

나는 왼쪽 탐색 서랍 (모든 자바 코드와 레이아웃)

오른쪽에서 여는 서랍을 표시하기위한 코드가 무엇을 표시하는 방법을 알아?

또한 FILTER 버튼이 툴바 외부에 있어도 클릭 리스너 설정 방법을 알고 싶습니다.

아무도 도와 줄 수 있습니까?

+0

당신은 탐색 서랍 https://developer.android.com/training/implementing-navigation/nav-drawer.html –

+0

측면에 대한 사용자 정의 레이아웃을 생성하여이를 얻을 수 있습니다 막대를 탐색함에 끌어 놓습니다. –

+0

[Navigation Drawer (Google+ vs. YouTube)]의 가능한 복제본 (http://stackoverflow.com/questions/11377472/navigation-drawer-google-vs-youtube) –

답변

1

그냥도 <android.support.design.widget.NavigationView>android:layout_gravity="end"를 추가, 종료 tools:openDrawer의 값 (tools:openDrawer="end")을 변경합니다. 여기에 해결책이 있습니다.

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="end"> 

    <include 
     layout="@layout/app_bar_main" 
     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="end" 
     android:fitsSystemWindows="true" 
     app:headerLayout="@layout/nav_header_main" 
     app:menu="@menu/activity_main_drawer" /> 

</android.support.v4.widget.DrawerLayout> 

MainActivity.java

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 

     final DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
       this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); 
     drawer.setDrawerListener(toggle); 
     toggle.syncState(); 

     //Add this piece of code 
     toolbar.setNavigationOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       if(drawer.isDrawerOpen(Gravity.RIGHT)){ 
        drawer.closeDrawer(Gravity.RIGHT); 
       }else{ 
        drawer.openDrawer(Gravity.RIGHT); 
       } 
      } 
     }); 
    } 
+0

문제가 해결되면 (✓ 선택) 표시를 클릭하십시오. – MashukKhan