2015-05-05 241 views
1

我的问题很简单,但我需要一些帮助 我有一个MainActivity,几个片段和NavigationDrawer。我还使用Appcompat v7 NavigationDrawer显示在状态栏的后面,用于我使用的ScrimInsetsLayout。 在风格我有colorPrimary和colorPrimaryDark(父是Theme.Appcompat)Android棒棒糖透明状态栏

在主要活动中我使用setStatusBarColor(Color.TRANSPARENT)在状态栏显示的抽屉里。所以,现在我在状态栏

现在,我创建了一个新片段colorPrimaryDark状态栏的颜色和NavigationDrawer,我需要禁用colorPrimaryDark颜色,使状态栏真正透明

正如我前面所说,设置颜色为透明使它colorPrimaryDark与抽屉显示

将其设置为任何其他颜色的“隐藏”抽屉。

感谢

截图:

Screen1Screen1Screen1

回答

8

透明 半透明的状态栏可从API 19,创建一个新的values-v19文件夹和一个styles.xml里面然后更新您的BaseAppTheme是这样的:

<!-- Base application theme for v19. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="android:windowTranslucentNavigation">false</item> 
    <item name="android:windowTranslucentStatus">true</item> 
</style> 

但是,这将使你的用户界面使用的空间背后StatusBar,所以我会建议增加一个额外的TOP padding,25dp的(研究,发现每一个API使用25dp为StatusBar高度,即使在landscape模式),用于设备> API19

+0

感谢您的快速回复。我也试过这个,但是我的背后仍然有colorPrimaryDark。所以我有一个状态栏颜色更深,然后colorPrimaryDark –

+0

如果您试图制作一个iOS应用程序的副本,那么首先要通过你可以/不能在Android中有什么。 Android中完全透明的StatusBar是不可能的。 http://developer.android.com/about/versions/android-4.4.html#UI –

+0

不,我的目标是半透明状态栏,我明白透明是不可能的。当我使用iTtranslucent时,它不是半透明的。感觉就像我在半透明状态栏后面有colorPrimaryDark。还有一点。如果我不使用setStatusBarColor我有半透明:) –