0

我有一个问题,使我的状态栏 透明或半透明。我正在使用AppCompat v22主题。我想将windowTranslucentStatus用于 API >=19。我真的在stackoverflow上搜索了答案,但我找不到任何解决我的问题的方法。我认为最简单的方法是向您展示我测试应用程序时使用的智能手机上的代码和屏幕截图。

<RelativeLayout
           android:id="@+id/activitylayout"
           android:fitsSystemWindows="true"
           android:layout_width="fill_parent"
           android:layout_height="fill_parent">

在我的 Activity 布局的代码上方。

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
    <item name="drawerArrowStyle">@style/drawerarrowstyle1</item>
    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:fitsSystemWindows">true</item>

我的 style.xml(v19) 代码。 问题:我的状态栏有白色背景,在导航抽屉中甚至看不到。

Activity 布局中状态栏的截图

导航抽屉中状态栏的屏幕截图

4

1 回答 1

0

三件事可以帮助我解决同一个问题。

  1. 正确的布局文件。Appbar 上方的可滚动视图。

         <! -- Your Scrollable View -->
        <android.support.v7.widget.RecyclerView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:layout_behavior="@string/appbar_scrolling_view_behavior" />
    
        <android.support.design.widget.AppBarLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
       <android.support.v7.widget.Toolbar
                      ...
                      app:layout_scrollFlags="scroll|enterAlways">
    
            <android.support.design.widget.TabLayout
                      ...
                      app:layout_scrollFlags="scroll|enterAlways">
         </android.support.design.widget.AppBarLayout>
    </android.support.design.widget.CoordinatorLayout>
    
  2. android:fitsSystemWindows="true|false"

  3. 风格定义:

    <style name="AppTheme.TransparentStatusBar">
        <item name="android:windowTranslucentStatus">true</item>
    </style>
    

确切地说你的问题可能在第 2 点。

于 2016-03-24T14:49:06.343 回答