2016-09-01 16 views
5

Moje żądanie to pełny przezroczysty pasek stanu z dynamicznym zmienianiem koloru paska stanu w tym samym activity.adjustPan nie działa z FLAG_LAYOUT_NO_LIMITS

Do tego dodałam getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

iw style.xml

<item name="android:windowTranslucentNavigation">true</item> 
<item name="android:windowTranslucentStatus">false</item> 

więc to działa dobrze, ale muszę się dostosować ekran gdy miękka klawiatura otwiera. Próbowałem więc android:windowSoftInputMode="adjustPan|adjustResize", ale ekran nie był zmieniany lub przewijany. Każdy może mi pomóc na tym samym.

Odpowiedz

2

Wykonuj przezroczyste i dynamicznie zmieniaj kolor, tak jak ta nie ustawiaj flagi FLAG_LAYOUT_NO_LIMITS, a następnie sprawdź ekran po otwarciu klawiatury.

 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); 
      window.setStatusBarColor(getResources() 
        .getColor(R.color.themeToolbarColor)); 
     } 
+0

Wymagany poziom interfejsu API 21. – Khan