0

我正在玩,TextInputEditText我正面临一个奇怪的问题。当我编辑第一个的内容时,比如说“Nom”字段,一切看起来都很好,键盘出现了,我可以看到输入的文本。现在,如果我需要在键盘下方的文本字段中输入文本,则活动会向上平移,因此该字段在视图中,但我看不到我正在输入的文本...请看一下视频:https ://www.digitalblend.fr/android_TextInputEditText_issue.mp4

此外,请查看我的实际代码:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/scrollView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fillViewport="true"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context=".MessageFragment">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="30dp"
            android:layout_marginTop="30dp"
            android:orientation="vertical">

            <View
                android:layout_width="match_parent"
                android:layout_height="120dp" />

            <LinearLayout
                android:layout_height="match_parent"
                android:layout_width="match_parent"
                android:layout_marginTop="20dp"
                android:orientation="horizontal">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:orientation="vertical" >

                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:textColor="@color/black"
                        android:textStyle="bold"
                        android:text="@string/required_last_name"/>

                    <com.google.android.material.textfield.TextInputLayout
                        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content">

                        <com.google.android.material.textfield.TextInputEditText
                            android:id="@+id/lastname"
                            android:layout_width="match_parent"
                            android:padding="5dp"
                            android:maxLines="1"
                            android:hint=""
                            android:inputType="textPersonName"
                            android:nextFocusDown="@+id/firstname"
                            android:layout_height="wrap_content"/>
                    </com.google.android.material.textfield.TextInputLayout>
                </LinearLayout>

                <View
                    android:layout_width="10dp"
                    android:layout_height="0dp"/>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:orientation="vertical">

                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:textColor="@color/black"
                        android:textStyle="bold"
                        android:text="@string/first_name"/>

                    <com.google.android.material.textfield.TextInputLayout
                        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content">

                        <com.google.android.material.textfield.TextInputEditText
                            android:id="@+id/firstname"
                            android:layout_width="match_parent"
                            android:padding="5dp"
                            android:hint=""
                            android:maxLines="1"
                            android:inputType="textPersonName"
                            app:textInputLayoutFocusedRectEnabled="true"
                            android:layout_height="wrap_content"/>
                    </com.google.android.material.textfield.TextInputLayout>
                </LinearLayout>

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:orientation="vertical">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:textColor="@color/black"
                    android:textStyle="bold"
                    android:text="@string/required_mail"/>

                <com.google.android.material.textfield.TextInputLayout
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">

                    <com.google.android.material.textfield.TextInputEditText
                        android:id="@+id/email"
                        android:layout_width="match_parent"
                        android:padding="5dp"
                        android:hint=""
                        android:maxLines="1"
                        android:inputType="textEmailAddress"
                        android:layout_height="wrap_content"/>
                </com.google.android.material.textfield.TextInputLayout>
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:orientation="vertical">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:textColor="@color/black"
                    android:textStyle="bold"
                    android:text="@string/required_enterprise"/>

                <com.google.android.material.textfield.TextInputLayout
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">

                    <com.google.android.material.textfield.TextInputEditText
                        android:id="@+id/enterprise"
                        android:layout_width="match_parent"
                        android:padding="5dp"
                        android:maxLines="1"
                        android:hint=""
                        android:inputType="text"
                        android:layout_height="wrap_content"/>
                </com.google.android.material.textfield.TextInputLayout>
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:orientation="vertical">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:textColor="@color/black"
                    android:textStyle="bold"
                    android:text="@string/required_code_postal"/>

                <com.google.android.material.textfield.TextInputLayout
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">

                    <com.google.android.material.textfield.TextInputEditText
                        android:id="@+id/postal_code"
                        android:layout_width="match_parent"
                        android:padding="5dp"
                        android:maxLines="1"
                        android:hint=""
                        android:inputType="text"
                        android:layout_height="wrap_content"/>
                </com.google.android.material.textfield.TextInputLayout>
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:orientation="vertical">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:textColor="@color/black"
                    android:textStyle="bold"
                    android:text="@string/city"/>

                <com.google.android.material.textfield.TextInputLayout
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">

                    <com.google.android.material.textfield.TextInputEditText
                        android:id="@+id/city"
                        android:layout_width="match_parent"
                        android:padding="5dp"
                        android:maxLines="1"
                        android:hint=""
                        android:inputType="text"
                        android:layout_height="wrap_content"/>
                </com.google.android.material.textfield.TextInputLayout>
            </LinearLayout>

            <LinearLayout
                android:id="@+id/phone_number_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:orientation="vertical">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:textColor="@color/black"
                    android:textStyle="bold"
                    android:text="@string/required_tel"/>

                <com.google.android.material.textfield.TextInputLayout
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                    android:layout_width="match_parent"
                    android:background="@android:color/transparent"
                    android:layout_height="wrap_content">

                    <com.google.android.material.textfield.TextInputEditText
                        android:id="@+id/phone_number"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:paddingVertical="5dp"
                        android:paddingHorizontal="15dp"
                        android:maxLines="1"
                        android:inputType="text"
                        android:textColor="@color/black"
                        android:imeOptions="actionDone"/>

                </com.google.android.material.textfield.TextInputLayout>
            </LinearLayout>
        </LinearLayout>

        <androidx.appcompat.widget.AppCompatButton
            android:id="@+id/btn_buy"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:scaleType="fitCenter"
            android:background="@drawable/little_red_button"
            android:layout_marginStart="15dp"
            android:layout_marginEnd="15dp"
            android:layout_marginTop="20dp"
            android:text="@string/send_demand"
            android:gravity="center"
            android:textColor="@color/white"
            android:textSize="14sp"/>

    </LinearLayout>
</ScrollView>

在我的清单中,我使用了android:windowSoftInputMode="adjustPan">

如果有人有想法?提前致谢。

4

0 回答 0