您的位置:首页 > 移动开发 > Android开发

安卓控件自动适应弹出键盘

2017-04-19 18:14 211 查看
今天做项目中遇到了一个奇怪的现象,我在FrameLayout中,中间偏下位置添加了一个图片,我明明没有经过计算,它却给我达到跟随弹出软键盘自动调整。

弹出软键盘之前:                                        


   

    弹出软键盘之后:


   

   

因为我做的是二次开发,在别人代码的基础上开发,我以为是人家可能早就存在计算逻辑了,于是我找啊找,最终也没找到好朋友。我又重新理了理逻辑,最后原来是在清单文件中加了这句代码

android:windowSoftInputMode="adjustResize|stateVisible"

        太神奇了,于是我又测试了LinearLayout,但是LinearLayout是不可以的,因为他的childView是顺序排列的。于是我又测试了RelativeLayout,发现RelativeLayout也是有缺陷的,控件的位置伊调整不灵活,只能设置这两句代码的时候起作用,而且设置这两句代码的View的位置在设置Margin就不起作用了

android:layout_gravity="bottom"
android:layout_centerInParent="true"

但是FrameLayout就完美了,你设置这两句代码,他会同时起作用,微调你View的位置

android:layout_gravity="center"
android:layout_marginTop="100dp"


         这个发现,真的省去了我很多事情,提起要计算,我就头疼。这是我的小发现,也可能别人已经早就发现了,但是他确实帮到我了,记录下来希望也会帮到你们。

如果确实帮到你了,那就帮我点个赞吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息