EditTexts
我的布局中有两个登录屏幕和一个登录按钮。问题是,当我开始键入内容时,软键盘会显示并覆盖登录按钮。出现布局时,如何向上或向上推键盘布局?
我不想使用ScrollView
,只想实现它而无需向下滚动。请给我建议一些方法。提前致谢。
Answers:
将windowSoftInputMode
属性设置为adjustPan
和adjustResize
<activity android:windowSoftInputMode="adjustPan|adjustResize"> </activity>
在onCreate()
方法中使用此代码:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
SOFT_INPUT_ADJUST_RESIZE
而不是ADJUST_PAN,为我工作
只要
android:windowSoftInputMode="adjustResize"
在清单文件中的活动标签中可以解决问题
我通过了解设备上软键盘的状态以某种方式实现了这一目标。当显示键盘时,我将布局移至y位置,而在未显示时将其移回其原始位置。这工作正常,请遵循此准则。
将其放在清单文件中的活动声明中
<activity android:windowSoftInputMode="adjustPan|adjustResize"> </activity>
或者如果您愿意,可以添加活动的onCreate()方法
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
android:windowSoftInputMode
说明)。@ kiwicomb123,选择一个参数,否则系统将为您选择(此选择可以在另一设备/ API版本上更改)
按照本指南,实现此目标的正确方法是在清单中声明:
<activity name="EditContactActivity"
android:windowSoftInputMode="stateVisible|adjustResize">
</activity>
如果您使用的是xamarin,则可以将此代码
WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize
放在MainActivity类的activity属性中。例如,现在activity属性将如下所示
[Activity(WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
{
//some code here.
}
你应该用
android:windowSoftInputMode="adjustPan|stateHidden"
在您AndroidManifest.xml
声明活动的文件中。当键盘显示在布局中时,这将调整布局内容。
这绝对适合您。
android:windowSoftInputMode =“ adjustPan”
<activity android:windowSoftInputMode="adjustResize"></activity>
使其起作用。