我是靠谱客的博主 执着眼神,最近开发中收集的这篇文章主要介绍windowSoftInputMode的adjustPan无效问题研究windowSoftInputMode的adjustPan无效问题研究,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

windowSoftInputMode的adjustPan无效问题研究

问题

最近在修改原生Launcher3的遇到一个问题,项目要求修改桌面文件夹时,弹出输入法会挡住输入框,所以要求输入框也随着输入法一起往上移.其实原生的Launcher3是做了适配加了android:windowSoftInputMode="adjustPan"属性的,可惜使用时发现只有前一两次呼出输入法时,输入框才会一起上移,后面就不行了,需要进入其他应用返回后才恢复.就像这样:

image

环境

Android 4.4

原因

找了很久,几经各种注释排除发现原来和EditText的属性值有关.


<EditText

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:gravity="center_horizontal"
android:singleLine="true"
/>

发现singleLine属性和gravity属性在一起用的时候,就有可能出现上述问题,然而也不是必然会出现,测试了left和center_vertical都是没有问题的,但是center_horizontal,center,right都存在问题.

解决办法

singleLine属性是已经被谷歌遗弃的属性,把singleLine=”true”换成maxLines=”1”,问题便解决了.

image

注意

  • 在自己Android 7.0的手机上发现,用singleLine属性也并没有这个问题,或许以上问题只有在Android4.4及以前才会出现.

总结

  • Google弃用一些属性的时候,总会有原因的,这次的问题说明,应当尽量使用新方法是替代被摒弃的方法,或者了解清楚方法为何被摈弃的原因.

最后

以上就是执着眼神为你收集整理的windowSoftInputMode的adjustPan无效问题研究windowSoftInputMode的adjustPan无效问题研究的全部内容,希望文章能够帮你解决windowSoftInputMode的adjustPan无效问题研究windowSoftInputMode的adjustPan无效问题研究所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部