一行代码设置 DrawerLayout 全屏效果

Posted liyanyan665

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一行代码设置 DrawerLayout 全屏效果相关的知识,希望对你有一定的参考价值。

DrawerLayout 默认使用时,侧拉出来的效果会有一点缩进效果,既然它是缩进,那我们直接反向操作,给它缩进一个负值不就好了嘛,直接看代码:

<!-- 第二个视图放抽屉 -->
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="left"
android:layout_marginRight="-65dp" //设置 -65 dp,反向操作
android:tag="left"
app:headerLayout="@layout/nav_header"
app:menu="@menu/drawer_menu" />
来看效果:

 

     一行代码搞定 DrawerLayout 全屏效果,这种是利用 margin 来达到全屏设置。除了这一种方法,我们还可以从它的 width 宽度入手。这样操作:获取屏幕的宽度像素 widthPixel,再获取侧拉父容器的 LayoutParams 属性,把 height 设置为 widthPixel 也可以搞定。上面的 -65 dp 虽然简单粗暴,但是不同手机可能会有一点点差距。这一种就不会了,看代码:

navigationView = findViewById(R.id.navigation_view);

ViewGroup.LayoutParams mLayoutParams = navigationView.getLayoutParams();
int width = getResources(http://www.amjmh.com/v/).getDisplayMetrics().widthPixels;
mLayoutParams.width = width;
navigationView.setLayoutParams(mLayoutParams);
--------------------- 

以上是关于一行代码设置 DrawerLayout 全屏效果的主要内容,如果未能解决你的问题,请参考以下文章

DrawerLayout 全屏显示(可以覆盖到statusbar上面)

android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕

[AndroidStudio]DrawerLayout布局结合HomeAsUp箭头动画效果最小系统

Android使用DrawerLayout仿qq6.6版本侧滑效果

DrawerLayout学习,抽屉效果

DrawerLayout(抽屉效果)