Din*_*dal 129 user-interface android android-keypad android-layout
我在RelativeView中有一些元素,对齐底部属性设置,当软键盘出现时,元素被软键盘隐藏.
我希望它们向上移动,以便如果有足够的屏幕空间,它们会显示在键盘上方,或者使键盘上方的部分可滚动,这样用户仍然可以看到元素.
关于如何处理这个的任何想法?
Chr*_*Orr 96
是的,请查看Android开发人员网站上的这篇文章,其中介绍了框架如何处理出现的软键盘.
该android:windowSoftInputMode属性可用于指定基于每个活动的内容:布局是否已调整大小或是否滚动等.
Bob*_*obs 85
您还可以在onCreate()方法中使用此代码:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
Run Code Online (Sandbox Code Playgroud)
Ser*_*kyi 29
为您的活动添加AndroidManifest.xml:
android:windowSoftInputMode="adjustPan|adjustResize"
Run Code Online (Sandbox Code Playgroud)
小智 22
更改您的清单文件的活动,如
windowSoftInputMode="adjustResize"
Run Code Online (Sandbox Code Playgroud)
要么
onCreate()在活动类中对您的方法进行更改,例如
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
Run Code Online (Sandbox Code Playgroud)
Ron*_*iya 16
我面临的类似问题我的布局包括里面的滚动视图.每当我尝试在EditText中选择文本时,复制/剪切/粘贴操作栏都会向下移动,因为它不会调整布局大小
android:windowSoftInputMode="adjustPan"
Run Code Online (Sandbox Code Playgroud)
通过将其修改为如下
1)AndroidManifest.xml
android:windowSoftInputMode="stateVisible|adjustResize"
Run Code Online (Sandbox Code Playgroud)
2)style.xml文件,在活动样式中
<item name="android:windowActionBarOverlay">true</item>
Run Code Online (Sandbox Code Playgroud)
有效.!!!!!!!!!!!!
Zah*_*.HY 12
在AndroidManifest.xml中,不要忘记设置:
android:windowSoftInputMode="adjustResize"
Run Code Online (Sandbox Code Playgroud)
对于ScrollView中的RelativeLayout,设置:
android:layout_gravity="center" or android:layout_gravity="bottom"
Run Code Online (Sandbox Code Playgroud)
会没事儿的
<activity name="ActivityName"
android:windowSoftInputMode="adjustResize">
...
</activity>
Run Code Online (Sandbox Code Playgroud)
在要滚动的布局周围添加 NestedScrollView,这将完美地工作
for line中的oncreate methode insert中的Activity
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
Run Code Online (Sandbox Code Playgroud)
以及onCreate方法中的片段
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
Run Code Online (Sandbox Code Playgroud)
滚动屏幕有3个步骤.
机器人:windowSoftInputMode = "adjustResize"
getWindow()setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE).
Run Code Online (Sandbox Code Playgroud)<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:background="@drawable/bg" android:layout_height="match_parent" > <RelativeLayout android:layout_width="fill_parent" android:layout_height="match_parent" android:layout_gravity="center" > <TextView /> ......... <TextView /> <EditText > <requestFocus /> </EditText> <Button /> </RelativeLayout> </ScrollView>
PS别忘了在父相对布局中添加android:layout_gravity ="center".
我尝试了迭戈·拉米雷斯(DiegoRamírez)的方法,它有效。在AndroidManifest中:
<activity
android:name=".MainActivity"
android:windowSoftInputMode="stateHidden|adjustResize">
...
</activity>
Run Code Online (Sandbox Code Playgroud)
在activity_main.xml中:
<LinearLayout ...
android:orientation="vertical">
<Space
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1" />
<EditText
android:id="@+id/edName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/first_name"
android:inputType="textPersonName" />
<EditText ...>
...
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
在查看了很多解决方案后,这对我有用:
将以AndroidManifest.xml下行添加到项目清单文件中的活动声明中。
android:windowSoftInputMode="stateHidden|adjustPan"
Run Code Online (Sandbox Code Playgroud)
代码应该如下所示:
<activity
android:name=".MainActivity"
android:screenOrientation="landscape"
android:windowSoftInputMode="stateHidden|adjustPan">
</activity>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
175951 次 |
| 最近记录: |