Android 는 DrawerLayout 를 사용 하여 QQ 6.6 버 전 사 이 드 슬라이드 효 과 를 모방 합 니 다.

2314 단어 AndroidDrawerLayout
사 이 드 스 케 이 트 메뉴 에 대해 말하자면 모두 가 오픈 소스 컨트롤 SlidingMenu 를 생각 할 것 이 라 고 믿 습 니 다.구 글 이 DrawerLayout 가 나 오지 않 았 을 때 Slidingmenu 를 사용 하여 사 이 드 스 케 이 트 효 과 를 실현 했다 고 할 수 있 습 니 다.효과 가 좋 았 다 고 할 수 있 습 니 다.구 글 이 Drawerlayot 가 나 온 후부 터 많은 회사 들 이 Drawerlayot,예 를 들 어 물방울 택시 등 을 사 용 했 습 니 다.그럼 오늘 우 리 는 drawerlayout 을 이용 하여 qq 6.6 의 최신 사 이 드 스 케 이 트 효 과 를 실현 합 니 다.먼저 Drawerlayot 의 기본 효 과 를 살 펴 보 겠 습 니 다.

현재 최신 버 전의 qq 와 다른 차이 점 은 콘 텐 츠 페이지 가 오른쪽으로 미 끄 러 지지 않 고 메뉴 가 내용 에 직접 덮어 쓰 여 QQ 스타일 시트 를 보 는 것 입 니 다.

이렇게 하면 차이 점 을 볼 수 있 습 니 다.사실 우 리 는 왼쪽 메뉴 를 미 끄 러 뜨 릴 때 콘 텐 츠 페이지 를 따라 미 끄 러 지게 하면 됩 니 다.먼저 DrawerLayout 가 미 끄 러 지 는 감청 을 들 려 주 었 는 지 살 펴 보 겠 습 니 다.하하,소스 코드 를 뒤 져 보 니 우 리 는 이 방법 을 찾 았 습 니 다.setDrawerListener 리 셋 만 실현 하면 됩 니 다.코드 는 다음 과 같 습 니 다.

drawer.setDrawerListener(new DrawerLayout.DrawerListener() { 
      @Override 
      public void onDrawerSlide(View drawerView, float slideOffset) { 
        //        
        WindowManager manager = (WindowManager) getSystemService(Context.WINDOW_SERVICE); 
        Display display = manager.getDefaultDisplay(); 
        //                 right       left     right+     (  right         )      right 
        right.layout(left.getRight(), 0, left.getRight() + display.getWidth(), display.getHeight()); 
      } 
      @Override 
      public void onDrawerOpened(View drawerView) { 
         
      } 
      @Override 
      public void onDrawerClosed(View drawerView) { 
         
      } 
      @Override 
      public void onDrawerStateChanged(int newState) { 
         
      } 
    }); 

그리고 우리 가 바 꾼 효 과 를 살 펴 보 자.

좀 재 미 있 지 않 아 요?하하,오늘 은 여기까지 하 겠 습 니 다.
마지막 으로 소스 코드 를 동봉 합 니 다https://github.com/dalong982242260/DrawLayoutMenu
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기