当软键盘显示android时如何移动布局
我有一个login屏幕,在我的布局中有两个EditTexts
和一个loginbutton。 问题是,当我开始input时,显示软键盘并覆盖loginbutton。 当键盘出现时,我怎样才能将键盘向上或向上推?
我不想使用ScrollView
,只是想实现它,而不需要向下滚动。 请给我build议一些做法。 提前致谢。
将Window SoftInput Mode属性设置为adjustPan和adjustResize
<activity android:windowSoftInputMode="adjustPan|adjustResize"> </activity>
试试这个对应于activity的android清单文件。
<activity android:windowSoftInputMode="adjustPan"> </activity>
在onCreate()
方法中使用此代码:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
只要
android:windowSoftInputMode="adjustResize"
在你的Manifest文件中的activity标签中就可以做到这一点
将这行放在manifest.xml中的活动声明时间中
<android:windowSoftInputMode="adjustPan">
我知道设备上的软键盘的状态。 当键盘被显示时,我将布局移动到y位置,并且在未示出时移回原始位置。 这工作正常,遵循从https://stackoverflow.com/a/4737265/1063861的指导方针;
把这个放在清单文件中的activity声明中<activity android:windowSoftInputMode="adjustPan|adjustResize"> </activity>
或者如果你想要的话,你可以添加你的活动的onCreate()方法
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
android:fitsSystemWindows="true"
在布局文件和主布局上添加属性
android:windowSoftInputMode="adjustResize"
在您的Activty的Manifest.xml文件中添加一行
它为我完美的工作。
这是所需要的一切:
<activity android:windowSoftInputMode="adjustResize"> </activity>
按照本指南 ,正确的方法是在您的清单中声明:
<activity name="EditContactActivity" android:windowSoftInputMode="stateVisible|adjustResize"> </activity>
当软键盘出现时,它会改变主布局的大小,你需要做的是为这个mainlayout创build一个监听器,并在这个监听器中添加代码scrollT0(x,y)
来向上滚动。
如果你正在使用xamarin,你可以把这个代码WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize
MainActivity类的activity属性中的WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize
。 例如,现在活动属性如下所示
[Activity(WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize)] public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity { //some code here. }
使用相对布局,它将调整视图,以便您可以在input文本时看到该视图
这对我来说就像一个魅力
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
你应该在你的android Mainfest.xml文件中使用“android:windowSoftInputMode =”adjustPan | stateHidden“来声明她的活动,这将调整你的布局内容。