Activity,Dialog等窗口根据软键盘显示隐藏实现界面自动调整
1.设置windowSoftInputMode
Activity可以通过AndroidManifest.xml中设置
<activity
android:name=".MyActivity"
android:windowSoftInputMode="adjustResize">
</activity>
Activity或者Dialog通过代码设置
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
2.调整布局
原理分析
设置了windowSoftInputMode为adjustResize,当软键盘弹出后:如图黄色区域高度就是View的可视高度,这个时候,如果view的高度是wrap_content就会从新计算,最大高度为图上黄色区域高度;在view中加一个如ScrollView有滑块功能的布局,就能实现滑动显示其他控件功能,如图红色的滑块
当软键盘隐藏:整个屏幕就是View的可视高度
软键盘显示时的ui
软键盘隐藏时的ui
代码实现
设置布局高度为wrap_content和使用ScrollView作为父控件
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- 你的显示内容-->
</android.support.constraint.ConstraintLayout>
</ScrollView>
此文要是对你有帮助,如果方便麻烦点个赞,谢谢!!!