美文网首页
透明主题软键盘弹出模式的优化

透明主题软键盘弹出模式的优化

作者: sollian | 来源:发表于2018-11-22 17:57 被阅读40次

缘由

为了迎合用户习惯,很多时候我们都要使用侧滑返回这个功能。而设置侧滑返回,就要求将页面的背景设置为透明。这样就带来一个问题,以
软键盘模式SOFT_INPUT_ADJUST_RESIZE为例,当二级页面弹出软键盘时,一级页面也会重新绘制,页面复杂的话容易造成卡顿现象。
针对这个问题,在页面onPause情况下,可以去掉对软键盘的响应,提升app性能。

优化方式

在BaseActivity中添加如下代码:

    private int softInputMode = -1;

    @Override
    protected void onResume() {
        super.onResume();
        if (softInputMode != -1) {
            Window window = getWindow();
            if (window != null) {
                window.setSoftInputMode(softInputMode);
            }
        }
    }

    @Override
    protected void onPause() {
        super.onPause();
        Window window = getWindow();
        if (window != null) {
            WindowManager.LayoutParams attrs = window.getAttributes();
            if (attrs != null) {
                softInputMode = attrs.softInputMode;
                window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
            }
        }
    }

相关文章

网友评论

      本文标题:透明主题软键盘弹出模式的优化

      本文链接:https://www.haomeiwen.com/subject/nvvbuftx.html