【发布时间】:2012-02-25 01:50:54
【问题描述】:
我的登录屏幕中有两个EditTexts 和一个登录按钮。问题是,当我开始打字时,会显示软键盘并覆盖登录按钮。出现时如何将布局向上或向上推?
我不想使用ScrollView,只想在不向下滚动的情况下实现它。请给我一些建议。提前致谢。
【问题讨论】:
标签: android android-softkeyboard
我的登录屏幕中有两个EditTexts 和一个登录按钮。问题是,当我开始打字时,会显示软键盘并覆盖登录按钮。出现时如何将布局向上或向上推?
我不想使用ScrollView,只想在不向下滚动的情况下实现它。请给我一些建议。提前致谢。
【问题讨论】:
标签: android android-softkeyboard
将windowSoftInputMode 属性设置为adjustPan 和adjustResize
<activity android:windowSoftInputMode="adjustPan|adjustResize"> </activity>
【讨论】:
<activity android:windowSoftInputMode="adjustResize"></activity> 就可以了。
在activity对应的android manifest文件中试试这个。
<activity android:windowSoftInputMode="adjustPan"> </activity>
【讨论】:
在onCreate()方法中使用此代码:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
【讨论】:
SOFT_INPUT_ADJUST_RESIZE 而不是 ADJUST_PAN,对我有用
只有
android:windowSoftInputMode="adjustResize"
在 Manifest 文件中的活动标签中就可以了
【讨论】:
将此行放在 manifest.xml 中的活动声明时间
<android:windowSoftInputMode="adjustPan">
【讨论】:
android:fitsSystemWindows="true"
在布局文件的主布局上添加属性和
android:windowSoftInputMode="adjustResize"
在 Activty 上的 Manifest.xml 文件中添加一行
它对我来说是完美的工作。
【讨论】:
false,则视图不会向上移动。
我通过了解设备上软键盘的状态以某种方式实现了这一点。我在显示键盘时将布局移动到 y 位置,并在未显示时移回其原始位置。这工作正常,关注this guidelines.
【讨论】:
将其放入清单文件中的活动声明中
<activity android:windowSoftInputMode="adjustPan|adjustResize"> </activity>
或者,如果您愿意,您可以添加活动的 onCreate() 方法
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
【讨论】:
android:windowSoftInputMode 描述)。 @kiwicomb123,选择一个参数,否则系统会为你选择(这个选择可以在另一个设备/API版本上改变)
这就是所有需要的:
<activity android:windowSoftInputMode="adjustResize"> </activity>
【讨论】:
根据guide,实现此目的的正确方法是在您的清单中声明:
<activity name="EditContactActivity"
android:windowSoftInputMode="stateVisible|adjustResize">
</activity>
【讨论】:
当软键盘出现时,它会改变主布局的大小,您需要做的是为该主布局创建一个侦听器,并在该侦听器中添加代码scrollT0(x,y) 以向上滚动。
【讨论】:
如果你正在使用 xamarin,你可以把这段代码
WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize 在 MainActivity 类的活动属性中。
例如,现在活动属性如下所示
[Activity(WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
{
//some code here.
}
【讨论】:
我通过在清单中添加代码来解决这个问题:
<activity android:name=".Login"
android:fitsSystemWindows="true"
android:windowSoftInputMode="stateHidden|adjustPan"
</activity>
【讨论】:
你应该使用
android:windowSoftInputMode="adjustPan|stateHidden"
在您声明活动的AndroidManifest.xml 文件中。当键盘显示在布局中时,这将调整您的布局内容。
【讨论】:
利用相对布局,它将调整视图,以便您在输入文本时可以看到该视图
【讨论】:
这对我来说就像一个魅力
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
【讨论】:
这绝对适合你。
android:windowSoftInputMode="adjustPan"
【讨论】: