获取状态栏的alpha值

时间:2016-10-22 21:13:02

标签: android android-styles

在Android上,我可以使用以下样式行设置透明状态栏:

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

我想在状态栏下直接显示文本,其状态栏的背景颜色相同。我的问题是,如果我将背景颜色设置为primaryColor,它会更亮一点,因为我没有将状态栏的alpha值添加到颜色中。

那么如何从代码中获取状态栏的alpha值以将其添加到我的背景颜色?

2 个答案:

答案 0 :(得分:0)

你想这样吗?

enter image description here

如果是的话。 Android 5.0之后。 您应该将colorPrimaryDark设置为与colorPrimary相同。 colorPrimaryDark表示状态栏颜色。 如果你的布局代码是这样的一个重要步骤:

   <android.support.design.widget.AppBarLayout
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>

删除“AppBarLayout”。改为:

  <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

答案 1 :(得分:0)

在活动中,尝试获取此 window.statusBarColor