1. 程式人生 > 其它 >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"/>