出现时,Android软键盘会占用布局
这是一个布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1" />
<FrameLayout
android:background="#0000ff"
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1" />
</LinearLayout>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" />
</RelativeLayout>
当触摸EditText并出现软键盘时,我想要蓝条保持不动。 也就是说,我希望它的大小和位置得到保留。 我在AndroidManifest中为我的activity的参数android:windowSoftInputMode
尝试了所有四个可能的值。 总是我的蓝色条在软键盘上移动或缩小:
android:windowSoftInputMode="adjustUnspecified"
或默认情况下:
android:windowSoftInputMode="adjustPan"
或android:windowSoftInputMode="adjustNothing"
:
android:windowSoftInputMode="adjustResize"
:
软键keyb出现时,是否可以保持相同的大小和位置?
由于输入是进入你的EditText
,它总是会移动一些东西。
考虑有两种布局,一种用于键盘关闭时,一种用于键盘启动时。
使用ViewSwitcher
可能会有所帮助。
您必须使用<ScrollView>
作为主布局。 例:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
....
</ScrollView>
或在AndroidManiFest.xml中使用此代码:
<activity
android:windowSoftInputMode="adjustNothing">
</activity>
我认为这是因为您正在使用LinearLayout。 你能否改变你的内部布局与相对布局? 在目前情况下,由于线性布局,键盘只会改变组件之间的边距。 并用adjustNothing改变你的配置。
链接地址: http://www.djcxy.com/p/93421.html上一篇: android soft keyboard spoils layout when appears
下一篇: How to keep all fields and texts visible while the soft keyboard is shown