单击对话框上的文本字段可打开要输入的键盘+区域。如何不打开此区域?

时间:2020-06-15 01:14:18

标签: java android android-layout

我有以下非常简单的对话框:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">


    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="50sp"
        android:background="#FFFFFF">


        <TextView
            android:id="@+id/title"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="24dp"
            android:gravity="center"
            android:text="Sign up to be a beta tester"
            android:textSize="20sp"
            android:textStyle="bold"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <EditText
            android:id="@+id/email"
            style="@style/Widget.AppCompat.EditText"
            android:layout_width="300dp"
            android:text=""
            android:layout_height="wrap_content"
            android:layout_marginTop="24dp"
            android:gravity="center"
            android:hint="Your e-mail"
            android:inputType="textEmailAddress"
            android:singleLine="true"
            android:textSize="20sp"
            android:windowSoftInputMode="stateVisible|adjustResize"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/title" />


        <androidx.constraintlayout.widget.ConstraintLayout
            android:id="@+id/btnSubmitGrid"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="32dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintTop_toBottomOf="@id/email">

            <Button
                android:id="@+id/btnSubmitEmail"
                style="@style/ButtonStylePrimary"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:text="Submit"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toStartOf="@+id/btnCancel"
                app:layout_constraintStart_toStartOf="parent" />

            <Button
                android:id="@+id/btnCancel"
                style="@style/ButtonStyleNegative"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginEnd="16dp"
                android:text="@string/cancel"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toEndOf="@+id/btnSubmitEmail"
                app:layout_constraintTop_toTopOf="parent" />


        </androidx.constraintlayout.widget.ConstraintLayout>





    </androidx.constraintlayout.widget.ConstraintLayout>

</layout>

我正在这样显示

    AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.MyDialogTheme);
    AlertDialog alert = builder.create();
    alert.setView(view);
    alert.show()

但是,当我单击文本字段时,它会在应用程序前面打开一个巨大的文本字段+键盘。而不是简单地打开键盘让我键入。

有没有一种方法可以使它简单地打开键盘,但没有巨大的空白窗口供我键入?

1 个答案:

答案 0 :(得分:1)

尝试在文本字段上使用android:imeOptions="flagNoExtractUi|flagNoFullscreen"