Activity,Dialog实现界面根据软键盘显示隐藏自动调整

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>

此文要是对你有帮助,如果方便麻烦点个赞,谢谢!!!

猜你喜欢

转载自blog.csdn.net/kingyc123456789/article/details/107558195