键盘向上移动时屏幕无法正确移动 - android

Posted

技术标签:

【中文标题】键盘向上移动时屏幕无法正确移动 - android【英文标题】:Screen not moving correctly when keyboard moves up - android 【发布时间】:2016-04-19 15:03:20 【问题描述】:

我正在 Xamarin 中制作一个 android 应用程序,下面的代码是登录窗口的 axml。但问题是,当我触摸密码字段时,布局不会向上移动,因此我可以看到“innskráning”按钮(登录按钮),我尝试将所有内容设置为 relativeLayout,并在其中进行了很多更改,但没有任何效果。我的 androidManifest 文件中也有: android:windowSoftInputMode="stateVisible|adjustResize"

谁能帮帮我,我花了这么多时间。

提前致谢。

  <?xml version="1.0" encoding="utf-8"?>
    <ScrollView xmlns:p1="http://schemas.android.com/apk/res/android"
        p1:id="@+id/scrollView"
        p1:layout_
        p1:layout_
        p1:fillViewport="true">
        <LinearLayout
            p1:orientation="vertical"
            p1:layout_
            p1:layout_
            p1:id="@+id/linearLayout1"
            p1:background="#FFFFFF">
            <ImageView
                p1:src="@drawable/advania"
                p1:layout_
                p1:layout_
                p1:layout_marginTop="20dp"
                p1:id="@+id/imageView1"
                p1:layout_gravity="center"
                p1:layout_centerInParent="true"
                p1:background="#FFFFFF" />
            <RelativeLayout
                p1:layout_
                p1:layout_
                p1:id="@+id/relativeLayout2"
                p1:background="#FFFFFF"
                p1:gravity="center">
                <EditText
                    p1:layout_
                    p1:layout_
                    p1:padding="10dp"
                    p1:id="@+id/userName"
                    p1:layout_centerHorizontal="true"
                    p1:background="@drawable/rounded_edittext"
                    p1:layout_marginTop="3.3dp"
                    p1:hint="Notendanafn"
                    p1:textColor="#000"
                    p1:textSize="14dp"
                    p1:typeface="normal"
                    p1:textStyle="normal"
                    p1:drawableRight="@drawable/iconusername"
                    p1:fontFamily="HelveticaNeue" />
                <EditText
                    p1:inputType="textPassword"
                    p1:layout_
                    p1:layout_
                    p1:padding="10dp"
                    p1:layout_below="@id/userName"
                    p1:id="@+id/password"
                    p1:layout_centerHorizontal="true"
                    p1:layout_marginTop="18.8dp"
                    p1:textColor="#000"
                    p1:textSize="14dp"
                    p1:textStyle="normal"
                    p1:typeface="sans"
                    p1:drawableRight="@drawable/iconkey"
                    p1:background="@drawable/rounded_edittext"
                    p1:hint="Lykilorð"
                    p1:fontFamily="HelveticaNeue" />
                <Button
                    p1:text="Innskráning"
                    p1:layout_
                    p1:layout_
                    p1:layout_below="@id/password"
                    p1:id="@+id/logIn"
                    p1:layout_marginTop="21.7dp"
                    p1:layout_centerHorizontal="true"
                    p1:enabled="true"
                    p1:textSize="14dp"
                    p1:typeface="normal"
                    p1:textStyle="normal"
                    p1:fontFamily="HelveticaNeue"
                    p1:background="@drawable/rounded_edittext_login" />
                <TextView
                    p1:text="Version x.x.x"
                    p1:textAppearance="?android:attr/textAppearanceSmall"
                    p1:layout_
                    p1:layout_
                    p1:layout_below="@id/logIn"
                    p1:id="@+id/versionText"
                    p1:layout_centerHorizontal="true"
                    p1:layout_marginTop="20.0dp"
                    p1:layout_marginRight="0.8dp"
                    p1:fontFamily="HelveticaNeue" />
                <TextView
                    p1:text="Advania"
                    p1:textAppearance="?android:attr/textAppearanceSmall"
                    p1:layout_
                    p1:layout_
                    p1:layout_below="@id/logIn"
                    p1:id="@+id/textView1"
                    p1:layout_centerHorizontal="true"
                    p1:layout_marginTop="50.0dp"
                    p1:layout_marginRight="0.8dp"
                    p1:fontFamily="HelveticaNeue" />
            </RelativeLayout>
        </LinearLayout>
    </ScrollView>

【问题讨论】:

【参考方案1】:

我使用了 AdjustResize | StateHidden 在它自己的 Activity 中 我之前有 AdjustResize,它给了我同样的问题,但在添加 StateHidden 后它起作用了

[Activity(Label = "MainActivity", Theme = "@style/NoActionBar", MainLauncher = true, WindowSoftInputMode = SoftInput.StateHidden | SoftInput.AdjustResize, ScreenOrientation = ScreenOrientation.Portrait)]
   public class MainActivity : Activity

【讨论】:

以上是关于键盘向上移动时屏幕无法正确移动 - android的主要内容,如果未能解决你的问题,请参考以下文章

出现软键盘时工具栏向上移动

仅当键盘覆盖输入字段时才向上移动视图

当用户单击 UIWebView 内的文本字段时,出现键盘后屏幕不会向上移动

Android:显示键盘将我的组件向上移动,我想隐藏它们

显示软键盘时向上移动布局?

如何防止在android中打开键盘时反应本机模式向上移动?