Android 完全透明的状态栏?

标签 android statusbar

我已经搜索了 文档,但只找到了这个: Link .哪个用于使条半透明?我要做的是使状态栏完全透明(如下图所示)并使其向后兼容 APK<19: enter image description here

我的样式.xml:

<resources xmlns:tools="http://schemas.android.com/tools">

  <style name="AppTheme" parent="Theme.AppCompat.Light">
  <item name="android:actionBarStyle">@style/ThemeActionBar</item>
  <item name="android:windowActionBarOverlay">true</item>
  <!-- Support library compatibility -->
  <item name="actionBarStyle">@style/ThemeActionBar</item>
  <item name="windowActionBarOverlay">true</item>
  </style>

  <style name="ThemeActionBar" parent="Widget.AppCompat.Light.ActionBar.Solid">
  <item name="android:background"> @null </item>
  <!-- Support library compatibility -->
  <item name="background">@null</item>
  <item name="android:displayOptions"> showHome | useLogo</item>
  <item name="displayOptions">showHome|useLogo</item>

  </style>

</resources>

我能做什么:

enter image description here

最佳答案

您需要做的就是在您的主题中设置这些属性:

<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>

您希望拥有透明状态栏的 Activity/容器布局需要此属性集:

android:fitsSystemWindows="true"

通常不可能在 pre-kitkat 上确定执行此操作,看起来您可以执行此操作 but some strange code makes it so .

编辑:我会推荐这个库:https://github.com/jgilfelt/SystemBarTint用于大量的 Lollipop 前状态栏颜色控制。

经过深思熟虑,我了解到完全禁用 Lollipop 状态栏和导航栏上的半透明或任何颜色的答案是在窗口上设置此标志:

// In Activity's onCreate() for instance
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    Window w = getWindow();
    w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
}

不需要其他主题,它会产生如下内容:

enter image description here

关于Android 完全透明的状态栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29311078/

相关文章:

java - 从另一个 Activity 引用一个 Activity 的属性

android - TileService 是否被视为前台进程

java - 隐藏状态栏android时的白条一瞥(如何让它像Whatsapp状态一样)

objective-c - 如何在开始时检测 iPad 的 interfaceRotation?

iphone - ios7 UINavigationBar 一段时间后停止在状态栏下延伸

Java 字符串中的字节表示

android - 如何使 Android 应用程序数据持久化?

android - 将 Realm 与回收者 View 一起使用的最佳实践?

cocoa - 更新 NSStatusItem 的图像

vim - 为命令使用状态栏(即 :s or :g) in gVim