【问题标题】:adjustPan not working with FLAG_LAYOUT_NO_LIMITSadjustPan 不能与 FLAG_LAYOUT_NO_LIMITS 一起使用
【发布时间】:2017-01-09 05:17:57
【问题描述】:

我的要求是一个完全透明的状态栏,在同一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",但屏幕没有调整大小或滚动。任何人都可以帮助我。

【问题讨论】:

    标签: android statusbar adjustpan


    【解决方案1】:

    像这样设置透明并动态更改颜色不要设置标志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));
            }
    

    【讨论】:

    • 需要 API 级别 21。
    • 导航颜色怎么样,导航不会像FLAG_LAYOUT_NO_LIMITS那样透明
    猜你喜欢
    • 2015-03-27
    • 1970-01-01
    • 2017-04-14
    • 2016-09-16
    • 2016-04-19
    • 1970-01-01
    • 2011-01-19
    • 2015-10-01
    • 2012-06-09
    相关资源
    最近更新 更多