如何在android中使底部导航栏不透明?

Posted

技术标签:

【中文标题】如何在android中使底部导航栏不透明?【英文标题】:How to make bottom navigation bar opaque in android? 【发布时间】:2017-05-29 11:48:52 【问题描述】:

我想使用下面的代码使我的顶部状态栏透明,这使状态栏透明但也使底部导航栏透明。

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) 
        Window w = getWindow(); // in Activity's onCreate() for instance

        //  getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

        w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

        // w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
        //  w.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

        w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

    

我想让底部导航栏像下面这样不透明。

我只想让状态栏透明而不是底部导航栏。所以请帮助我,因为我是 android 新手

虽然它在我想要的 kitkat 中工作得很好,但在 kitkat 之上却不行。

【问题讨论】:

【参考方案1】:

可以使用

<item name="android:navigationBarColor">@color/theme_color</item>

window.setNavigationBarColor(@ColorInt int color)

http://developer.android.com/reference/android/view/Window.html#setNavigationBarColor(int)

适用于 API 级别 21+

【讨论】:

以上是关于如何在android中使底部导航栏不透明?的主要内容,如果未能解决你的问题,请参考以下文章

导航栏不粘在底部

如何获取Android手机底部导航栏的高度

Flutter沉浸式状态栏/AppBar导航栏/仿咸鱼底部凸起导航

导航栏不隐藏

微信小程序 跳转页面 就没有底部导航栏 怎么办?

android开发时如何去掉底部的导航栏?