当前位置:   article > 正文

DrawerLayout使用_drawerlayout setdrawershadow

drawerlayout setdrawershadow
布局:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. android:orientation="vertical"
  8. android:id="@+id/drawer_layout"
  9. tools:context=".view.activity.BaseActivity">
  10. <LinearLayout
  11. android:id="@+id/ll_content"
  12. android:layout_width="match_parent"
  13. android:layout_height="match_parent"
  14. android:orientation="vertical">
  15. <com.example.test1512r3.view.customview.MyTitleView
  16. android:id="@+id/parent_title"
  17. android:layout_width="match_parent"
  18. android:layout_height="56dp"
  19. android:background="#1296db"/>
  20. <FrameLayout
  21. android:id="@+id/child_view"
  22. android:layout_width="match_parent"
  23. android:layout_height="match_parent"/>
  24. </LinearLayout>
  25.     <!--侧滑界面 宽可设置为match_parent效果为默认宽度,可自定义侧拉栏宽度-->
  26.     <--android:layout_gravity=" "决定侧滑界面是左侧滑还是右侧滑-->
  27. <include layout="@layout/sliding_left"
  28. android:layout_width="450dp"
  29. android:layout_height="match_parent"
  30. android:layout_gravity="left" />
  31. </android.support.v4.widget.DrawerLayout>
代码:
  1. //内容布局
  2. LinearLayout ll_content = findViewById(R.id.ll_content);
  3. //侧拉栏布局
  4. LinearLayout ll_menu = findViewById(R.id.ll_menu);
  5. //DrawerLayout
  6. DrawerLayout drawer_layout = findViewById(R.id.drawer_layout);
  7. drawer_layout.addDrawerListener(new DrawerLayout.DrawerListener() {
  8. @Override
  9. public void onDrawerSlide(@NonNull View drawerView, float slideOffset) {
  10.         //设置主布局随菜单滑动而滑动
  11.         int drawerViewWidth = drawerView.getWidth();
  12.         ll_content.setTranslationX(drawerViewWidth * slideOffset);
  13.         //设置控件最先出现的位置
  14.         double padingLeft = drawerViewWidth * (1 - 0.618) * (1 - slideOffset);
  15.         ll_menu.setPadding((int) padingLeft, 0, 0, 0);
  16.     }
  17.     @Override
  18.     public void onDrawerOpened(@NonNull View drawerView) { }
  19.     @Override
  20.     public void onDrawerClosed(@NonNull View drawerView) { }
  21.     @Override
  22.     public void onDrawerStateChanged(int newState) { }
  23. });
DrawerLayout 的一些方法:
  1. drawer_layout.closeDrawer(Gravity.LEFT);//关闭侧拉栏
  2. drawer_layout.openDrawer(Gravity.LEFT);//打开侧拉栏
  3. drawer_layout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED,Gravity.LEFT); //关闭手势滑动
  4. drawer_layout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED,Gravity.LEFT); //打开手势滑动
  1. 下面是DrawerLayout的几个常用方法说明:
  2. setDrawerShadow : 设置主页面的渐变阴影图形。
  3. addDrawerListener : 添加抽屉面板的拉出监听器。该监听器实现了下面三个方法:
  4. --onDrawerSlide : 抽屉面板在滑动。
  5. --onDrawerOpened : 抽屉面板已打开。
  6. --onDrawerClosed : 抽屉面板已关闭。
  7. --onDrawerStateChanged : 抽屉面板的状态发生变化。
  8. removeDrawerListener : 移除抽屉面板的拉出监听器。
  9. closeDrawers : 关闭所有抽屉面板。
  10. openDrawer : 打开指定抽屉面板。
  11. closeDrawer : 关闭指定抽屉面板。
  12. isDrawerOpen : 判断指定抽屉面板是否打开。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/279506
推荐阅读
相关标签
  

闽ICP备14008679号