关于软键盘的顶起底部内容的问题

今天在做一个需要输入很多内容的界面的时候出现了一些小问题

目标是:点击输入框的时候,弹出的软键盘能把界面往上顶,让软键盘上面就是正在输入的输入框

出现的问题:在软键盘改变了布局的时候,底部的内容跟着软键盘往上移动了,刚好挡住了输入框

思路1:能否让底部的布局不受系统软键盘影响

做法:在底部内容上添加了

android:fitsSystemWindows="false"

意思是让底部的view不受系统UI影响

结果:并没有什么效果

原因:https://blog.csdn.net/smileiam/article/details/69055963

需要在沉浸式的界面中,并且我仅知道这个语句在为“true”的时候,是计算系统UI的大小并给view添加一个padding

至于“false”是不是不计算系统UI大小 并可以与系统UI(软键盘)重叠只是我的猜测。同时软键盘是否算系统UI这个我也是猜着他是而已

思路2:让界面的所有布局都不受软键盘弹起影响

这个思路与想要实现的效果有冲突,所以打算在这个情况叠加手动让输入框,移动到软键盘上方

结果想着想着,就看到了一个和我情况基本相同的老哥

https://blog.csdn.net/wayne214/article/details/83824065

看到里面提到的属性(adjustPan),明显就是让整个界面不会随着软件盘调整的参数

想着这个老哥可能思路和我类似就了解了一下另外一个属性(stateAlwaysHidden)的意思

https://blog.csdn.net/Rodulf/article/details/84575595

结果发现我对 adjusPan 这个属性有误解

这个属性是让固定的界面不调整,而滚动的界面一样会随着软键盘调整(例如:scrollview)

而意味着完全不调整的属性是 adjustNothing

stateAlwaysHidden的意思是 进入界面的时候不主动弹出软键盘

所以这个问题在manifest里面对着activity添加

android:windowSoftInputMode="stateAlwaysHidden|adjustPan"

这个语句就解决了,(stateAlwaysHidden)没关系

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章