4

我按照制作手势导航的文档将应用程序边缘扩展到边缘。但我看不到导航栏变成透明的。

build.gradle 设置,

        compileSdkVersion 'android-Q'
        minSdkVersion 21
        targetSdkVersion 28

样式值,

<!-- Testing Edge to Edge app content -->
<item name="android:navigationBarColor">@android:color/transparent</item>

<!-- Optional, but recommended for full edge-to-edge rendering -->
<item name="android:statusBarColor">@android:color/transparent</item>

onCreate()我在方法中设置了 UI 可见性标志

        //        Adding UI Visibility flag for edge to edge app content
        View view = findViewById(R.id.mainView);
//        hide navigation
//        view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
//        layout stable
//        view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
//        view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
//        view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_FULLSCREEN);
//        having two flags hide navigation or layout fullscreen
//        view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
//        having two flags hide navigation or layout stable
        view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
4

1 回答 1

0

尝试这个:

View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(
    View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
于 2019-10-21T23:45:00.503 回答