【问题标题】:Android Lollipop transparent statusbarAndroid Lollipop 透明状态栏
【发布时间】:2015-05-05 11:06:51
【问题描述】:

我的问题很简单,但我需要一些帮助 我有一个 MainActivity、几个片段和 NavigationDrawer。我也使用 Appcompat v7 NavigationDrawer 显示在我使用 ScrimInsetsLayout 的状态栏后面。 在样式中,我有 colorPrimary 和 colorPrimaryDark(parent is Theme.Appcompat)

在主要活动中,我使用 setStatusBarColor(Color.TRANSPARENT) 在状态栏中显示抽屉。所以现在我在状态栏中有 colorPrimaryDark 状态栏颜色和 NavigationDrawer

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

正如我之前所说,将颜色设置为透明会使其 colorPrimaryDark 显示抽屉

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

谢谢

截图:

【问题讨论】:

    标签: android navigation statusbar drawer


    【解决方案1】:

    transparent 半透明状态栏可从 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>
    

    但是,这会让你的 UI 使用 StatusBar 后面的空间,所以我建议添加一个额外的 TOP padding,25dp(研究发现每个 API 都使用 25dp 作为 StatusBar 高度,即使在 landscape 模式下也是如此),适用于设备 > API19

    【讨论】:

    • 感谢您的快速回复。我也试过这个,但我后面还有 colorPrimaryDark 。所以我的状态栏颜色比 colorPrimaryDark 还要深
    • 如果您尝试制作 iOS 应用程序的副本,请先了解您在 Android 中可以/不可以拥有的内容。完全透明的状态栏在 Android 中是不可能的。 developer.android.com/about/versions/android-4.4.html#UI
    • 不,我的目标是半透明状态栏,我知道透明是不可能的。当我制作 iTtranslucent 时,它实际上并不是半透明的。感觉就像我在半透明状态栏后面有 colorPrimaryDark 。还有一点。如果我不使用 setStatusBarColor 我有半透明的:)
    • 你能发一张你有什么和你想要什么的截图
    • imgur.com/AOJFL8C imgur.com/uUCXcBt imgur.com/ATPEXfg 现在我有粉红色的状态栏。我想将其保留在“朋友”片段中并在个人资料片段中设为半透明
    猜你喜欢
    • 2015-11-03
    • 1970-01-01
    • 2015-08-06
    • 1970-01-01
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 2015-07-06
    相关资源
    最近更新 更多