gpt4 book ai didi

java - 无法使状态栏半透明

转载 作者:行者123 更新时间:2023-12-01 11:09:05 24 4
gpt4 key购买 nike

编辑:更相关的问题发布在此处:MaterialDrawer library turns a translucent status bar into a opaque one

<小时/>

我知道可以在 API19+ 中完成。我还读过thisthis看起来这很容易做到。但是我无法完成它。这是 values-v19 文件夹中的我的主题:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
</style>

我还将 appcompat 主题更改为 Theme.Holo.Light.NoActionBar.TranslucentDecor (当然使用 Activity 而不是 AppCompatActivity );没有任何改变。

这是 genymotion 模拟器 api-22 的屏幕截图(实体状态栏;真实设备上的结果相同):

enter image description here

现在出现了奇怪的事情:在布局的预览窗口中,当您选择 api-23(在 appcompat 和 Holo 主题上)时,我得到以下结果(半透明):

enter image description here

api-19(还有 api-21 和 22)的预览如下:

enter image description here

这很令人困惑,我不知道我做错了什么。任何帮助将不胜感激。

编辑:

如果我添加:

<item name="colorPrimaryDark">@color/primary_dark</item>

实体状态栏改变颜色:

enter image description here

另一个奇怪的事情是抽屉导航超出了该死的栏:

enter image description here

最佳答案

这对我有用,添加在 styles-v21.xml 中:

    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>

以及android.support.v4.widget.DrawerLayout下的activity_main.xml:

    android:android:fitsSystemWindows="true">

样式-v21.xml

<style name="AppTheme" parent="AppTheme.Base">
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>

样式.xml

<style name="AppTheme" parent="AppTheme.Base">
</style>
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowNoTitle">true</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>

activity_main.xml

<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:fitsSystemWindows="true">

<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent">

<include
android:id="@id/app_bar"
layout="@layout/app_bar" />

<FrameLayout
android:id="@id/container_body"
android:layout_width="fill_parent"
android:layout_gravity="center"
android:layout_height="wrap_content"
android:layout_weight="1">
</FrameLayout>

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

<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header"
app:menu="@menu/drawer_view"/>
</android.support.v4.widget.DrawerLayout>

app_bar.xml

<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">

<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/ThemeOverlay.AppCompat.Light"
app:layout_scrollFlags="scroll|enterAlways" />
</android.support.design.widget.AppBarLayout>

关于java - 无法使状态栏半透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32584507/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com