【问题标题】:How to get lollipop status bar on kitkat如何在 kitkat 上获取棒棒糖状态栏
【发布时间】:2015-11-24 19:11:06
【问题描述】:

我正在尝试使用 PrimaryDarkColorPrimaryColor 来实现 Status bar,就像 Kitkat 上的 Lollipop 一样,这是我的尝试:

<style name="PopularTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimaryDark">@color/colorPrimaryDarkPopular</item>
    <item name="colorPrimary">@color/ColorPrimaryPopular</item>

    <!--here is what I've added to try to get transparency -->
    <item name="android:statusBarColor">@android:color/transparent</item>
    <item name="android:windowActionBarOverlay">true</item>
    <item name="android:windowContentTransitions">true</item>
    <item name="android:windowTranslucentNavigation">true</item>
    <item name="android:windowTranslucentStatus">true</item>
</style>

另外,我用https://github.com/jgilfelt/SystemBarTint 测试了这个方法,但这不是我的选择,因为我为每个活动使用了另一种颜色。

如何在 Kitkat 中使用 PrimaryDarkColorPrimaryColor 实现该状态栏?

结果:

【问题讨论】:

  • 使用 Android 设计支持库
  • @user5114910 - 你能给我一个例子吗? :|
  • 参考此链接androidbycode.wordpress.com/2015/06/06/…。如果您使用的是 eclipse,请下载 Android Design Support Library Project 并将其添加到您的项目依赖项中。希望它有效。

标签: android material-design android-5.0-lollipop android-statusbar


【解决方案1】:

我刚刚在这里查看了我使用的应用程序。

首先删除&lt;!--here is what I've added to try to get transparency --&gt; 下的所有内容,我们的风格中没有这些内容。但是,它适用于 AppCompat 主题或活动已经为您所做的工作。

然后为 Kitkat 添加额外规则:

@TargetApi(Build.VERSION_CODES.KITKAT)
private static void setupWindowKiKat(Window window) {
   window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}

并从您的活动中调用它:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT &&
    Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP)
     setupWindowKiKat(getWindow());

您可以将其添加到values-v19\style.xml,但以上是它在我们应用程序上的显示方式。希望对您有所帮助。

【讨论】:

  • 是的,谢谢。但是添加这些代码后,它将是这样的:i.imgur.com/O5zjzjC.png 我如何使用这个 TRANSLUCENT_STATUS 添加我的PrimaryDarkColor
  • 对不起,我刚刚从我们的 git repo 中查看了代码,还有一个额外的比较。你只称它为 Kitkat,而不是 Lollipop。
  • 我需要这样的第一张照片:stackoverflow.com/questions/30469276/…
  • 我正在尝试添加我自己的颜色:window.setStatusBarColor(PopularActivity.getResources().getColor(R.color.colorPrimaryDarkPopular)); 怎么做? getResources 有错误
【解决方案2】:

你应该先root你的设备,然后去谷歌商店安装(Wanam Xposed)http://repo.xposed.info/module/ma.wanam.xposed 打开它并在此处执行一些步骤然后安装(Xposed 安装程序)http://repo.xposed.info/module/de.robv.android.xposed.installer 然后打开这个最后去“下载”并寻找“平面样式彩色条”下载并安装它然后返回模块激活它并重新启动手机,您将看到更改。 我希望我有所帮助。我在 ace 4 Sm-g316hu 上非常适合我

【讨论】:

    【解决方案3】:

    这是不可能的,因为它们都在不同的 API 上运行(棒棒糖在 20、21 或 22 上)。

    【讨论】:

    • 这是一个 hack,所以,我看到它在 kitkat 上工作,但是,我需要一个确切的方法来做!
    • 好吧,你需要root并准备好使用xposed框架,你去下载并搜索Material Status Bar然后安装,重启并完成
    • 我需要以编程方式执行此操作,而不是使用 root 或类似的东西!检查这个:stackoverflow.com/questions/30469276/…如果你有好的方法或工作方法请阅读问答!
    猜你喜欢
    • 1970-01-01
    • 2016-05-02
    • 2015-05-18
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    相关资源
    最近更新 更多