1

我正在创建应用程序与折叠工具栏和透明状态栏。但我得到了与API 19 一个问题,当我设置<item name="android:windowTranslucentStatus">true</item>我得到这个:透明的状态栏与折叠工具栏中的API 19(KitKat)

我试图通过

getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

做,但唯一可行的就是

Window w = getWindow(); w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

但是在i T I接收应用程序栏是在状态栏

enter image description here

我Appbar和折叠工具栏布局具有参数fitsSystemWindows = "true"

在阿比21和更高一切ok。

如何在api 19中使折叠工具栏布局制作透明状态栏? 感谢您的帮助。

回答

0

我这段代码解决了我的问题它的工作完美的我:

if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) { 
     Window w = getWindow(); // in Activity's onCreate() for instance 
     w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); 
     CollapsingToolbarLayout.LayoutParams lp = (CollapsingToolbarLayout.LayoutParams) mToolBar.getLayoutParams(); 
     lp.setMargins(0,24,0,0); 
     mToolBar.setLayoutParams(lp); 
    } 

我mainActivity.xml文件是:

 .......blablalba 
<android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="210dp" 
     android:fitsSystemWindows="true"> 

     <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/collapsing_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:contentScrim="?attr/colorPrimary" 
     app:expandedTitleMarginBottom="32dp" 
     app:expandedTitleMarginEnd="64dp" 
     app:expandedTitleMarginStart="48dp" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed" 
      android:fitsSystemWindows="true"> 

      <ImageView 
      android:layout_width="match_parent" 
      android:contentDescription="@string/app_name" 
      android:id="@+id/ivHeader" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:layout_alignParentBottom="true" 
      android:scaleType="centerCrop" 
      app:layout_collapseMode="parallax" 
      android:layout_gravity="bottom" 
      android:layout_height="235dp" /> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="56dp" 
      app:layout_collapseMode="pin" 
      android:layout_gravity="top" 
      android:background="@android:color/transparent" /> 

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

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

您必须将fitsSystemWindows = "true"更改为fitsSystemWindows = "false"才能正常工作。

,不写任何Java代码进行全屏显示, 只需添加下面两行styles.xml和V21 styles.xml内

<item name="android:windowFullscreen">true</item> 
+0

我试过了,但它不会改变任何东西( 可能你知道在哪里看到工作的例子? – IDmikael

+0

我编辑了我的回答 – Jayanth

+0

现在状态栏消失 – IDmikael