我在RelativeView中有一些元素,对齐底部属性设置,当软键盘出现时,元素被软键盘隐藏.
我希望它们向上移动,以便如果有足够的屏幕空间,它们会显示在键盘上方,或者使键盘上方的部分可滚动,这样用户仍然可以看到元素.
关于如何处理这个的任何想法?
是的,请查看Android开发人员网站上的这篇文章,其中介绍了框架如何处理出现的软键盘.
该android:windowSoftInputMode
属性可用于指定基于每个活动的内容:布局是否已调整大小或是否滚动等.
您还可以在onCreate()
方法中使用此代码:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
为您的活动添加AndroidManifest.xml:
android:windowSoftInputMode="adjustPan|adjustResize"
更改您的清单文件的活动,如
windowSoftInputMode="adjustResize"
要么
onCreate()
在活动类中对您的方法进行更改,例如
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
我面临的类似问题我的布局包括里面的滚动视图.每当我尝试在EditText中选择文本时,复制/剪切/粘贴操作栏都会向下移动,因为它不会调整布局大小
android:windowSoftInputMode="adjustPan"
通过将其修改为如下
1)AndroidManifest.xml
android:windowSoftInputMode="stateVisible|adjustResize"
2)style.xml文件,在活动样式中
- true
有效.!!!!!!!!!!!!
在AndroidManifest.xml中,不要忘记设置:
android:windowSoftInputMode="adjustResize"
对于ScrollView中的RelativeLayout,设置:
android:layout_gravity="center" or android:layout_gravity="bottom"
会没事儿的
for line中的oncreate methode insert中的Activity
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
以及onCreate方法中的片段
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
滚动屏幕有3个步骤.
写入您的活动的清单文件:
机器人:windowSoftInputMode = "adjustResize"
在活动的oncreate()方法中添加以下行
getWindow()setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE).
然后将整个视图放在XML文件的"Scrollview"中,如:
.........
PS别忘了在父相对布局中添加android:layout_gravity ="center".
我尝试了迭戈·拉米雷斯(DiegoRamírez)的方法,它有效。在AndroidManifest中:
...
在activity_main.xml中:
...