2017-08-31 48 views
0

我想让导航栏在我的应用程序中完全透明。我已经尝试了其他答案,但它们只是使状态栏完全透明,并且导航栏仍然具有黑暗的半透明颜色。这里是我的代码:Android编程:如何使导航栏在Android Nougat中完全透明

styles.xml:

<style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar"> 
    <item name="android:windowTranslucentStatus">true</item> 
    <item name="android:windowTranslucentNavigation">true</item> 
    <item name="android:navigationBarColor">@android:color/transparent</item> 
    <item name="android:statusBarColor">@android:color/transparent</item> 
</style> 

Activity.java:

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

下面是我想要得到的结果:goal

,这是我目前得到的结果:result

有没有办法实现一个完全透明的导航栏?

+0

您是否尝试过使用FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS标志? – Abhi

回答

0

尝试设置<item name="android:android:windowTranslucentStatus">true</item>设置android:statusBarColor@android:color/transparent

然后添加代码如下:

getWindow().getDecorView().setSystemUiVisibility(
     View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); 

如果您还想要导航栏是半透明的,设置android:navigationBarColor@android:color/transparent并结合标志View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION为好。

试试看可能会有用。