【问题标题】:make status bar kitkat Translucent android制作状态栏 kitkat Translucent android
【发布时间】:2016-04-21 08:49:37
【问题描述】:

我按照互联网上的一些教程使 api19 (kitkat) 上的状态栏透明,但我得到了这样的东西 (android:theme="@style/AppTheme.NoActionBar"风格)

和 v-19\styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="AppTheme.Base">
        <item name="android:windowTranslucentStatus">true</item>
    </style>
</resources>

styles.xml

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="colorAccent">@color/accent</item>
        <item name="colorControlHighlight">@color/accent</item>
        <item name="android:textColorSecondary">@color/primary</item>
        <item name="android:popupMenuStyle">@style/AppTheme.PopupOverlay</item>
        <item name="android:popupBackground">@color/light</item>
    </style>

我如何将白色半透明变为透明或彩色原色,以便与操作栏混合......

【问题讨论】:

  • 您可以简单地调用您的活动:getActionBar().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
  • ps : 由于 Android 3.0 ....也许你应该更安全一点 ActionBar ab = getActionBar(); if(ab!=null){}...etc....
  • 感谢您的反馈,但这对我不起作用...状态栏上仍然是从黑到白渐变..
  • 啊,你想改变系统栏吗?抱歉,从您的代码中,我认为您想更改 actionBar..for systembar 请参见此处:stackoverflow.com/questions/22192291/…
  • 棒棒糖的链接参考,我想在 kitkat 上实现半透明状态栏,不是完全改变颜色,而是在我的应用程序上从暗淡到透明 kitkat 状态栏..

标签: android xml


【解决方案1】:

将此添加到您的v-19\styles.xml

<style name="AppTheme" parent="AppTheme.Base">
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
</style>

以及您的 xml 文件的根布局的以下属性:

android:fitsSystemWindows="true"

【讨论】:

  • 我已经这样做了,但它会在我的状态栏上将渐变颜色从黑色变为白色,然后在我的操作栏下方..
  • 你用什么布局做根布局?
  • 协调器布局主要是,,,
【解决方案2】:

我为自己找到了一个解决方案,我们需要为 v19\styles.xml 创建样式值,如下所示

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="AppTheme.Base">
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
        <item name="android:windowBackground">@color/primary</item>
        <item name="android:clipToPadding">false</item>
    </style>
</resources>

如果我们使用CoordinatorLayout 作为根视图,我们会得到半透明的状态栏和导航底部栏以android:windowBackground 颜色淡出,如果我们使用像LinearRelative 这样的一般布局,我们会得到完全透明的状态和导航栏就像我们使用 DrawerLayout 一样,它会给出相同的结果。 在根布局中添加android:fitsSystemWindows="true" 将使内容保留在应用程序容器内,以避免折叠或与状态栏或导航栏重叠。

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 2014-03-18
    • 1970-01-01
    • 2016-01-04
    • 2016-02-14
    • 1970-01-01
    • 2015-11-03
    • 2014-01-01
    相关资源
    最近更新 更多