我的登录界面中有两个EditTexts
和一个登录按钮。问题是,当我开始输入时,会显示软键盘并覆盖登录按钮。如何在键盘出现时向上或向上推动布局?
我不想使用ScrollView
,只想在不向下滚动的情况下实现它。拜托,建议我做一些方法。提前谢谢。
答案 0 :(得分:61)
将windowSoftInputMode
属性设置为adjustPan
和adjustResize
<activity android:windowSoftInputMode="adjustPan|adjustResize"> </activity>
答案 1 :(得分:32)
在与活动相对应的android清单文件中尝试此操作。
<activity android:windowSoftInputMode="adjustPan"> </activity>
答案 2 :(得分:24)
在onCreate()
方法中使用此代码:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
答案 3 :(得分:15)
仅
android:windowSoftInputMode="adjustResize"
在Manifest文件中的活动标签中的将起到作用
答案 4 :(得分:12)
将此行放在manifest.xml
中的活动声明时间<android:windowSoftInputMode="adjustPan">
答案 5 :(得分:10)
我通过了解设备上软键盘的状态以某种方式实现了这一点。我在显示键盘时将布局移动到y位置,并在未显示时移回原位。这很好,跟着this guidelines.
答案 6 :(得分:6)
android:fitsSystemWindows="true"
在布局文件的主布局上添加属性和
android:windowSoftInputMode="adjustResize"
在您的Activty
上的Manifest.xml文件中添加行对我来说是完美的工作。
答案 7 :(得分:6)
将此信息放入清单文件中的活动声明中
<activity android:windowSoftInputMode="adjustPan|adjustResize"> </activity>
或者如果您愿意,可以添加活动的onCreate()方法
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
答案 8 :(得分:3)
这就是所需要的:
<activity android:windowSoftInputMode="adjustResize"> </activity>
答案 9 :(得分:2)
根据这个guide,实现这一目标的正确方法是在你的清单中声明:
<activity name="EditContactActivity"
android:windowSoftInputMode="stateVisible|adjustResize">
</activity>
答案 10 :(得分:2)
当软键盘出现时,它会改变主布局的大小,你需要做的是为该主布局创建一个监听器并在该监听器内,添加代码scrollT0(x,y)
以向上滚动。
答案 11 :(得分:2)
如果您正在使用xamarin,则可以输入此代码
MainActivity类的activity属性中的WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize
。
例如,现在activity属性将如下所示
[Activity(WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
{
//some code here.
}
答案 12 :(得分:1)
我通过在清单中添加代码来解决此问题:
<activity android:name=".Login"
android:fitsSystemWindows="true"
android:windowSoftInputMode="stateHidden|adjustPan"
</activity>
答案 13 :(得分:0)
这对我来说就像是一种魅力
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
答案 14 :(得分:0)
你应该使用
android:windowSoftInputMode="adjustPan|stateHidden"
在您宣布活动的AndroidManifest.xml
文件中。当布局中显示键盘时,这将调整您的布局内容。
答案 15 :(得分:0)
利用相对布局,它将调整视图,以便您在键入文本时可以看到该视图
答案 16 :(得分:-1)
这绝对适合您。
android:windowSoftInputMode =“ adjustPan”