如何让我的编辑文本出现在键盘上方

Posted

技术标签:

【中文标题】如何让我的编辑文本出现在键盘上方【英文标题】:how do I make my edit texts appear above the keyboad 【发布时间】:2020-07-09 06:40:43 【问题描述】:

有类似的问题,但没有一个对我有用,所以这里是我的寄存器布局:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_
    android:layout_
    tools:context=".RegisterActivity">

    <ImageView
        android:id="@+id/imageView"
        android:layout_
        android:layout_
        android:scaleType="centerCrop"
        android:src="@drawable/signin_page_background" />

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_
        android:layout_
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:padding="45dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <LinearLayout
            android:id="@+id/retour"
            android:layout_
            android:layout_
            android:clickable="true"
            android:focusable="true"
            android:foreground="?android:attr/selectableItemBackground"
            android:onClick="goback"
            android:padding="15dp">

            <ImageView
                android:layout_
                android:layout_
                android:src="@drawable/baseline_arrow_back_ios_24"
                android:tint="#191919" />

            <TextView
                android:layout_
                android:layout_
                android:text="Retour"
                android:textColor="#191919"
                android:textSize="20sp"
                android:textStyle="bold" />
        </LinearLayout>
    </LinearLayout>


    <com.github.captain_miao.optroundcardview.OptRoundCardView
        android:layout_
        android:layout_
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:optRoundCardCornerRadius="50dp"
        app:optRoundCardElevation="0dp"
        app:optRoundCardLeftBottomCorner="false"
        app:optRoundCardLeftTopCorner="true"
        app:optRoundCardRightBottomCorner="false"
        app:optRoundCardRightTopCorner="true"
        app:layout_constraintTop_toBottomOf="@+id/linearLayout"
        android:windowSoftInputMode="adjustPan"
        >
        <ScrollView
            android:layout_
            android:layout_
            android:fillViewport="true"
            android:keyboardNavigationCluster="true">

            <RelativeLayout
                android:layout_
                android:layout_
                android:layout_marginTop="25dp">
                <LinearLayout
                    android:layout_
                    android:layout_
                    android:orientation="vertical">
                <TextView
                    android:layout_
                    android:layout_
                    android:layout_marginStart="30dp"
                    android:text="@string/inscrivez"
                    android:textColor="#191919"
                    android:textSize="25dp"
                    android:textStyle="bold" />

                <EditText
                    android:id="@+id/username_signup"
                    android:layout_
                    android:layout_
                    android:layout_marginStart="30dp"
                    android:layout_marginTop="30dp"
                    android:layout_marginEnd="30dp"
                    android:background="@android:color/transparent"
                    android:drawableEnd="@drawable/user_icon"
                    android:drawableTint="#696969"
                    android:hint="@string/username"
                    android:padding="15dp"
                    android:textColor="#191919"
                    android:textColorHint="#696969"
                    android:textStyle="bold" />

                <RelativeLayout
                    android:layout_
                    android:layout_
                    android:layout_marginStart="40dp"
                    android:layout_marginEnd="40dp"
                    android:background="#696969" />

                <EditText
                    android:id="@+id/email_signup"
                    android:layout_
                    android:layout_
                    android:layout_marginStart="30dp"
                    android:layout_marginTop="30dp"
                    android:layout_marginEnd="30dp"
                    android:background="@android:color/transparent"
                    android:drawableEnd="@drawable/email_icon"
                    android:drawableTint="#696969"
                    android:hint="E-mail"
                    android:inputType="textEmailAddress"
                    android:padding="15dp"
                    android:textColor="#191919"
                    android:textColorHint="#696969"
                    android:textStyle="bold" />

                <RelativeLayout
                    android:layout_
                    android:layout_
                    android:layout_marginStart="40dp"
                    android:layout_marginEnd="40dp"
                    android:background="#696969" />

                <EditText
                    android:id="@+id/pw_signup"
                    android:layout_
                    android:layout_
                    android:layout_marginStart="30dp"
                    android:layout_marginTop="30dp"
                    android:layout_marginEnd="30dp"
                    android:background="@android:color/transparent"
                    android:drawableEnd="@drawable/pasword_icon"
                    android:drawableTint="#696969"
                    android:hint="@string/password"
                    android:inputType="textPassword"
                    android:padding="15dp"
                    android:textColor="#191919"
                    android:textColorHint="#696969"
                    android:textStyle="bold" />


                <RelativeLayout
                    android:layout_
                    android:layout_
                    android:layout_marginStart="40dp"
                    android:layout_marginEnd="40dp"
                    android:background="#696969" />

                <Button
                    android:id="@+id/btn_signup"
                    android:layout_
                    android:layout_
                    android:layout_marginStart="50dp"
                    android:layout_marginTop="50dp"
                    android:layout_marginEnd="50dp"
                    android:layout_marginBottom="80dp"
                    android:background="@drawable/btn_signin"
                    android:text="@string/insc_btn"
                    android:textAllCaps="false"
                    android:textColor="@android:color/white"
                    android:textSize="20sp"
                    android:textStyle="bold" />
                </LinearLayout>
            </RelativeLayout>


        </ScrollView>

    </com.github.captain_miao.optroundcardview.OptRoundCardView>



</androidx.constraintlayout.widget.ConstraintLayout>

当屏幕很小,当用户输入密码并且键盘隐藏editText时。 如果有人可以更正我的 xml 以使 editText 在用户键入时出现在键盘上方

【问题讨论】:

***.com/questions/24262414/… 已经检查过了,但没有一个适合我 【参考方案1】:

使用 ScrollView 作为 Root 布局。

【讨论】:

以上是关于如何让我的编辑文本出现在键盘上方的主要内容,如果未能解决你的问题,请参考以下文章

键盘快速出现时文本视图向上

在键盘上方添加 UITextField

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

如何让我的精灵套件场景出现在 UIView 上方?

如何以编程方式移动 UIScrollView 以集中在键盘上方的控件中?

软输入键盘隐藏编辑文本