其他分享
首页 > 其他分享> > fragment切换全屏和非全屏之间的切换

fragment切换全屏和非全屏之间的切换

作者:互联网

在使用fragment的时候,需要在通activity下的不同fragment之间切换,此时可能会需要在沉浸和非沉浸之间切换,但是在实操的时候发现,会出现非沉浸切换会沉浸的时候会有页面的抖动存在,视觉效果不理想.最后通过自定义一个跟状态栏高度相同的view占据视图最顶部,其他控件全部都处于该控件下方,这样就不需要进行切换了

override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
    var heightMeasureSpec2 = MeasureSpec.makeMeasureSpec(getStatusBarHeight(), MeasureSpec.EXACTLY)
    super.onMeasure(widthMeasureSpec, heightMeasureSpec2)
}

使用就直接用就行了,高度已经在自定义view中固定为状态栏的高度了

<com.zmkj.wltty.ui.StatusBarView
        android:id="@+id/statusbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toTopOf="parent"
        android:background="@color/headbg_color"/>

标签:沉浸,自定义,控件,fragment,heightMeasureSpec2,全屏,切换
来源: https://www.cnblogs.com/KenningChen/p/16228431.html