当前位置: 首页 > 知识库问答 >
问题:

无法将状态栏颜色更改为半透明黑色[重复]

索曾琪
2023-03-14

我正在尝试将状态栏的颜色改为半透明的黑色(Android7.0),但我得到的只是一个灰色状态栏。每当我尝试将状态栏设置为透明或半透明时,我就会得到这种灰色。但纯色很好用。我使用的是折叠式工具栏布局,我知道我可以使用statusBarScrim,但这个功能也不起作用,我不知道为什么。

XML:

<?xml version="1.0" encoding="utf-8"?>


<android.support.design.widget.CoordinatorLayout android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="#d8000000"
android:fitsSystemWindows="true"
xmlns:android="http://schemas.android.com/apk/res/android">



<android.support.v7.widget.RecyclerView
    android:id="@+id/recyclerView_artistSong"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollbars="vertical"
    android:scrollbarSize="10dp"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">
</android.support.v7.widget.RecyclerView>


    <android.support.design.widget.AppBarLayout
        android:id="@+id/app_bar"
        android:layout_width="match_parent"
        android:layout_height="360dp"
        android:fitsSystemWindows="true"

        >

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapse_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            android:fitsSystemWindows="true"
            app:contentScrim="#b2000000"
            app:expandedTitleMarginStart="48dp"
            app:expandedTitleMarginEnd="64dp">



            <ImageView
                android:id="@+id/parallaxImage"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="centerCrop"
                android:fitsSystemWindows="true"
                app:layout_collapseMode="parallax"
                app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed" />



            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="100dp"
                app:layout_scrollFlags="scroll|enterAlways"
                >


                <ImageView
                    android:id="@+id/backToArtist"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/ic_action_name"
                    android:paddingLeft="10dp"
                    android:paddingTop="10dp"
                    android:clickable="true"
                    />


            </android.support.v7.widget.Toolbar>


            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="100dp"
                android:paddingTop="10dp"
                android:background="#b2000000"
                android:layout_gravity="bottom"
                android:fitsSystemWindows="true">

                <ImageView
                    android:id="@+id/backToArtist2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/ic_action_name"
                    android:paddingLeft="10dp"
                    android:paddingTop="20dp"
                    />

                <TextView
                    android:id="@+id/parallaxText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingLeft="60dp"
                    android:textSize="24sp"
                    android:text="Hello"
                    android:singleLine="true"
                    android:textColor="#ffffff"
                    android:gravity="top"
                    />

                <LinearLayout
                    android:layout_below="@+id/parallaxText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="bottom"
                    android:paddingTop="10dp"
                  >

                    <TextView
                        android:id="@+id/NumAlbums"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textColor="#fff"
                        android:paddingLeft="60dp"
                        android:text="@string/albums"
                        />

                    <TextView
                        android:id="@+id/NumTracks"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/tracks"
                        android:textColor="#fff"
                        android:paddingLeft="100dp"/>

                </LinearLayout>

            </RelativeLayout>






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




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



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

样式:

<!-- Base application theme. -->
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">#b2000000</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:windowTranslucentNavigation">true</item>


</style>
<style name="AppTheme.NoActionBar">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowFullscreen">false</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowActionBarOverlay">true</item>
    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:windowTranslucentNavigation">true</item>
</style>

我也试过使用这些:

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                    Window window = getWindow();
                    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
                    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS| WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
                     window.setStatusBarColor(getResources().getColor(R.color.translucent_black2));
                }

共有1个答案

龚星洲
2023-03-14

请使用此主题

<style name="ThemeFullscreen" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowIsFloating">false</item>
    <item name="android:backgroundDimEnabled">false</item>
</style>
 类似资料:
  • 我已经改变了我的应用程序的状态栏颜色为白色后,这个状态栏图标是不可见的。

  • 关于这个话题有很多帖子,但我找不到一个有用的。 我有一个未嵌入导航控制器的视图控制器。我想把状态栏的颜色改成黑色。 如何在Swift 3中设置状态栏样式 改变行info.plist查看基于控制器的状态栏外观并将其设置为NO didFinishLaunchingwith Options中appDelegate.swift的更改

  • 当我设定时 状态栏变成黑色半透明,但我需要白色 样品

  • 如果你认为它重复了一些其他的问题,那么我应该让你现在我已经尝试了3,4页的谷歌搜索,也实现了他们。

  • 问题内容: 我正在尝试将状态栏的颜色更改为蓝色或其他某种颜色。 这可能吗,或者Apple不允许吗? 问题答案: 注意:此解决方案在iOS 13及更高版本下失败。 Plist中的第一个设置为 输出屏幕截图如下

  • 因此,我在这里读了几篇关于更改状态栏文本颜色的帖子,但都没用。所以我最初的问题是,状态栏现在在iOS7中是透明的,我希望它是带黑色文本的白色。所以我把它添加到我的viewcontroller中。 好的,现在状态是黑对黑,不能阅读文本,但至少它不是透明的。所以现在我做了下面的事情。 进入plist并添加了这个 然后我将此添加到我的应用程序委托 现在我有一个状态栏是白色的,但是文本是白色的,所以你看不