|
|
@@ -16,6 +16,10 @@ import android.view.WindowMetrics
|
|
|
import android.widget.FrameLayout
|
|
|
import androidx.annotation.ColorInt
|
|
|
import androidx.appcompat.app.AppCompatActivity
|
|
|
+import androidx.core.view.WindowCompat
|
|
|
+import androidx.core.view.WindowInsetsCompat
|
|
|
+import androidx.core.view.WindowInsetsControllerCompat.BEHAVIOR_DEFAULT
|
|
|
+import androidx.core.view.WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
|
|
|
import androidx.fragment.app.DialogFragment
|
|
|
import io.legado.app.R
|
|
|
import io.legado.app.ui.widget.dialog.TextDialog
|
|
|
@@ -173,6 +177,18 @@ fun Activity.keepScreenOn(on: Boolean) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+fun Activity.toggleNavigationBar(show: Boolean) {
|
|
|
+ WindowCompat.getInsetsController(window, window.decorView).run {
|
|
|
+ if (show) {
|
|
|
+ show(WindowInsetsCompat.Type.navigationBars())
|
|
|
+ systemBarsBehavior = BEHAVIOR_DEFAULT
|
|
|
+ } else {
|
|
|
+ hide(WindowInsetsCompat.Type.navigationBars())
|
|
|
+ systemBarsBehavior = BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
/////以下方法需要在View完全被绘制出来之后调用,否则判断不了,在比如 onWindowFocusChanged()方法中可以得到正确的结果/////
|
|
|
|
|
|
/**
|