java - ConstraintView 干扰显示键盘

标签 java android android-studio android-layout android-constraintlayout

我尝试了来自 stackoverflow 和其他网站的不同解决方案,但仍未解决。当键盘出现时,单选按钮位于 editText 的顶部。

enter image description here

在 MainActivity 类的 onCreate 方法中,我写了这一行:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

在AndroidManifest.xml中,我在Activity中添加了一行:

<activity android:name=".MainActivity"
 android:windowSoftInputMode="adjustResize"
>

以下是 acitivtiy_main.xml:

  <?xml version="1.0" encoding="utf-8"?>

<android.support.constraint.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_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context=".MainActivity">

    <RadioGroup
        android:id="@+id/radioGroup"
        android:layout_width="368dp"
        android:layout_height="47dp"
        android:layout_gravity="end"
        android:layout_marginStart="8dp"
        android:layout_marginTop="32dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        android:orientation="horizontal"
        app:layout_constraintBottom_toTopOf="@+id/listView"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/editText">

        <RadioButton
            android:id="@+id/azadRadio"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="start"
            android:layout_weight="1"
            android:gravity="right"
            android:layoutDirection="rtl"
            android:text="آزاد"
            android:textSize="30sp" />

        <RadioButton
            android:id="@+id/qafiaRadio"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="start"
            android:layout_weight="1"
            android:gravity="right"
            android:layoutDirection="rtl"
            android:text="قافیہ"
            android:textSize="30sp" />

        <RadioButton
            android:id="@+id/sabiqaRadio"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="start"
            android:layout_weight="1"
            android:gravity="right"
            android:layoutDirection="rtl"
            android:text="سابقہ"
            android:textSize="30sp" />
    </RadioGroup>

    <EditText
        android:id="@+id/editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="36dp"
        android:layout_marginTop="36dp"
        android:ems="10"
        android:inputType="text"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginTop="36dp"
        android:layout_marginEnd="8dp"
        android:onClick="Finder"
        android:text="Finder"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.555"
        app:layout_constraintStart_toEndOf="@+id/editText"
        app:layout_constraintTop_toTopOf="parent" />

    <ListView
        android:id="@+id/listView"
        android:layout_width="339dp"
        android:layout_height="266dp"
        android:layout_marginStart="16dp"
        android:layout_marginBottom="44dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

</android.support.constraint.ConstraintLayout>

最佳答案

只需从 xml 的顶部和末尾添加 nestedScrollView。像这样:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    xmlns:android="http://schemas.android.com/apk/res/android">


<android.support.constraint.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_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context=".MainActivity">

    <RadioGroup
        android:id="@+id/radioGroup"
        android:layout_width="368dp"
        android:layout_height="47dp"
        android:layout_gravity="end"
        android:layout_marginStart="8dp"
        android:layout_marginTop="32dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        android:orientation="horizontal"
        app:layout_constraintBottom_toTopOf="@+id/listView"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/editText">

        <RadioButton
            android:id="@+id/azadRadio"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="start"
            android:layout_weight="1"
            android:gravity="right"
            android:layoutDirection="rtl"
            android:text="آزاد"
            android:textSize="30sp" />

        <RadioButton
            android:id="@+id/qafiaRadio"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="start"
            android:layout_weight="1"
            android:gravity="right"
            android:layoutDirection="rtl"
            android:text="قافیہ"
            android:textSize="30sp" />

        <RadioButton
            android:id="@+id/sabiqaRadio"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="start"
            android:layout_weight="1"
            android:gravity="right"
            android:layoutDirection="rtl"
            android:text="سابقہ"
            android:textSize="30sp" />
    </RadioGroup>


    <EditText
        android:id="@+id/editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="36dp"
        android:layout_marginTop="36dp"
        android:ems="10"
        android:inputType="text"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginTop="36dp"
        android:layout_marginEnd="8dp"
        android:onClick="Finder"
        android:text="Finder"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.555"
        app:layout_constraintStart_toEndOf="@+id/editText"
        app:layout_constraintTop_toTopOf="parent" />

    <ListView
        android:id="@+id/listView"
        android:layout_width="339dp"
        android:layout_height="266dp"
        android:layout_marginStart="16dp"
        android:layout_marginBottom="44dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

</android.support.constraint.ConstraintLayout>
</android.support.v4.widget.NestedScrollView>

关于java - ConstraintView 干扰显示键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53124749/

相关文章:

android - imageview 的 marginRight 属性不起作用

java - 文件以错误的编码加载 : 'UTF-8' in android studio

java - 如何将图标添加到抽屉导航中

java - 表达式的非法开始(Android)

Java 加倍奇怪(不,这不是为了钱)

java - ENUM 和单选按钮 Java

java - Libgdx Sprite 旋转导致位置偏移

android - Android 支持库中的 ActionBar#setDefaultDisplayHomeAsUpEnabled 是什么?

java - 如何为 IOException 编写 junit 测试用例

android - 确定是否存在生物识别硬件以及用户是否已在 Android P 上注册生物识别