• 设置透明状态栏后,弹出键盘的冲突问题


    设置透明导航栏

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    }
    

    rootView中设置:  

    fitsSystemWindows="true"
    

      键盘弹出模式

    android:windowSoftInputMode="adjustResize" 挤压模式

    但是此时遇到冲突了,键盘直接遮挡editText了。

    参考:http://www.jianshu.com/p/1b22a1d2a7b8

    核心代码:重写rootView中的两个方法

        @Override
        protected boolean fitSystemWindows(Rect insets) {
            if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                insets.left = 0;
                insets.top = 0;
                insets.right = 0;
            }
            return super.fitSystemWindows(insets);
        }
    
        @Override
        public WindowInsets onApplyWindowInsets(WindowInsets insets) {
            if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                return super.onApplyWindowInsets(insets.replaceSystemWindowInsets(0, 0, 0, insets.getSystemWindowInsetBottom()));
            } else {
                return insets;
            }
        }
    

      

  • 相关阅读:
    虚继承virtual public
    My first blog
    mybatis(一)SqlSessionFactory初始化
    dubbo
    设计模式
    基本算法
    redis
    spring cloud eureka
    spring boot
    spring MVC
  • 原文地址:https://www.cnblogs.com/wjw334/p/6611124.html
Copyright © 2020-2023  润新知