各类手机兼容问题(软键盘问题)

0
回复
207
查看
[复制链接]

7

主题

41

帖子

649

安币

代码手工艺人

Rank: 4

QQ
发表于 2019-5-8 17:45:01 | 显示全部楼层 |阅读模式
如果对本篇文章感兴趣,请前往,原文地址:http://www.apkbus.com/blog-941978-80010.html

在平时开发中,我们总是遇到只要是关于软键盘输入的都有兼容性问题以及弹出框问题,这时就得我们做事手机兼容,否则,要么不显示,要么被遮挡住了,所以这部分细节我们还得注意:废话不多说,直接代码,有什么不对的,望指正  if (!UtilsStyle.isXiaomi()) {
        et_input_art_comm.viewTreeObserver.addOnGlobalLayoutListener {
            val r = Rect()
            //获取当前界面可视部分
            window.decorView.getWindowVisibleDisplayFrame(r)
            //获取屏幕的高度
            val screenHeight = window.decorView.rootView.height
            //此处就是用来获取键盘的高度的, 在键盘没有弹出的时候 此高度为0 键盘弹出的时候为一个正数
            val heightDifference = screenHeight - r.bottom
            val layoutParams = RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                    ViewGroup.LayoutParams.WRAP_CONTENT)
            layoutParams.bottomMargin = 10
            layoutParams.topMargin=10
            ll_input.layoutParams = layoutParams
        }
    }

} else {
    if (!UtilsStyle.isXiaomi()) {
        et_input_art_comm.viewTreeObserver.addOnGlobalLayoutListener {
            val r = Rect()
            //获取当前界面可视部分
            window.decorView.getWindowVisibleDisplayFrame(r)
            //获取屏幕的高度
            val screenHeight = window.decorView.rootView.height
            //此处就是用来获取键盘的高度的, 在键盘没有弹出的时候 此高度为0 键盘弹出的时候为一个正数
            val heightDifference = screenHeight - r.bottom
            val layoutParams = RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                    ViewGroup.LayoutParams.WRAP_CONTENT)
            layoutParams.bottomMargin = heightDifference/5
            ll_input.layoutParams = layoutParams
        }

    }当然这里还得注意,weight属性的优先级要高于LayoutParams设定的值。简单来说就是你不能“又要让马儿跑,又不让马儿吃草”,既然定死了所占比例,当然就无法同时设置其它的尺寸了。不然设置无效的,还有弹出框一定要设置宽高,不然有些手机是现实不出来的,此次测试了vivo mi  huawei meizu手机处理
  继续阅读全文



想在安卓巴士找到更多优质博文,可移步博客区

如果对本篇文章感兴趣,请前往,
原文地址:
http://www.apkbus.com/blog-941978-80010.html
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

领先的中文移动开发者社区
18620764416
7*24全天服务
意见反馈:1294855032@qq.com

扫一扫关注我们

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粤ICP备15117877号 )