如何在软键盘显示android时移动布局

时间:2012-02-02 11:50:05

标签: android android-softkeyboard

我的登录界面中有两个EditTexts和一个登录按钮。问题是,当我开始输入时,会显示软键盘并覆盖登录按钮。如何在键盘出现时向上或向上推动布局?

我不想使用ScrollView,只想在不向下滚动的情况下实现它。拜托,建议我做一些方法。提前谢谢。

17 个答案:

答案 0 :(得分:61)

windowSoftInputMode属性设置为adjustPanadjustResize

<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”