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);

, но после того как я т я получить, что приложение бар находится в строке состояния

enter image description here

мой AppBar и Сворачивание раскладки панели инструментов имеют параметр fitsSystemWindows = "true"

в Апи 21 и выше все ок.

Как я могу сделать прозрачную панель состояния с рушительным расположением панели инструментов в 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