我正在尝试将状态栏颜色更改为半透明黑色(android 7.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));
}
答案 0 :(得分:0)
你可以尝试这个:
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().setStatusBarColor(ContextCompat.getColor(MainActivity.this, R.color.translucent_black2));
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
希望这有助于你...如果你需要任何帮助,你可以问
答案 1 :(得分:0)
请使用此主题
<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>