13

我的要求是一个完全透明的状态栏,状态栏的颜色会activity动态变化。

为此,我添加了getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

在 style.xml 中

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

所以它工作正常,但我需要在软键盘打开时调整屏幕。所以我尝试了android:windowSoftInputMode="adjustPan|adjustResize"但屏幕没有调整大小或滚动。任何人都可以帮助我。

4

1 回答 1

6

像这样设置透明并动态更改颜色不要设置标志FLAG_LAYOUT_NO_LIMITS,然后在打开键盘时检查屏幕。

      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));
        }
于 2016-09-01T11:01:43.023 回答