今天做项目中遇到了一个奇怪的现象,我在FrameLayout中,中间偏下位置添加了一个图片,我明明没有经过计算,它却给我达到跟随弹出软键盘自动调整。
弹出软键盘之前:
弹出软键盘之后:
因为我做的是二次开发,在别人代码的基础上开发,我以为是人家可能早就存在计算逻辑了,于是我找啊找,最终也没找到好朋友。我又重新理了理逻辑,最后原来是在清单文件中加了这句代码
android:windowSoftInputMode="adjustResize|stateVisible"太神奇了,于是我又测试了LinearLayout,但是LinearLayout是不可以的,因为他的childView是顺序排列的。于是我又测试了RelativeLayout,发现RelativeLayout也是有缺陷的,控件的位置伊调整不灵活,只能设置这两句代码的时候起作用,而且设置这两句代码的View的位置在设置Margin就不起作用了
android:layout_gravity="bottom"但是 FrameLayout就完美了,你设置这两句代码,他会同时起作用,微调你View的位置
android:layout_centerInParent="true"
android:layout_gravity="center"
android:layout_marginTop="100dp"
这个发现,真的省去了我很多事情,提起要计算,我就头疼。这是我的小发现,也可能别人已经早就发现了,但是他确实帮到我了,记录下来希望也会帮到你们。
如果确实帮到你了,那就帮我点个赞吧!