我正在制作一个自动显示联系人的应用程序,然后当在 ListView
中单击联系人时,它会直接发送到 EditText
字段。然后他们可以选择是发送消息还是调用该号码。
问题是,当我点击 EditText
时,ListView
也会出现,它覆盖了 EditText
、按钮和联系人标签。我猜这是因为手机的键盘。
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:id="@+id/idLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/backgroundwallpaper2"
android:orientation="vertical">
<TextView
android:id="@+id/contacts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="@string/contacts"
android:textAlignment="center"
android:textColor="#000000"
android:textSize="15pt"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.293" />
<EditText
android:id="@+id/number"
android:layout_width="match_parent"
android:layout_height="51dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:inputType=""
android:labelFor="@+id/number"
android:textColor="#000000"
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.05" />
<ImageButton
android:id="@+id/callBtn"
android:layout_width="57dp"
android:layout_height="57dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:background="@null"
android:contentDescription="@string/todo"
android:text="@string/calls"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.729"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.184"
app:srcCompat="@drawable/smallcallbtn" />
<ListView
android:id="@+id/idList"
android:layout_width="match_parent"
android:layout_height="290dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.743"></ListView>
<ImageButton
android:id="@+id/imageButton5"
android:layout_width="57dp"
android:layout_height="57dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:background="@null"
android:contentDescription="@string/todo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.26"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.184"
app:srcCompat="@drawable/smallmsgbtn" />
</android.support.constraint.ConstraintLayout>
应用截图
最佳答案
试试这个:
找到您有代码的 Activity ,例如 ActivityA 并在 AndroidManifest.xml 中引入这一行:
<activity
android:name=".activities.ActivityA"
android:windowSoftInputMode="adjustPan">
</activity>
"adjustPan" The activity's main window is not resized to make room for the soft keyboard. Rather, the contents of the window are automatically panned so that the current focus is never obscured by the keyboard and users can always see what they are typing. This is generally less desirable than resizing, because the user may need to close the soft keyboard to get at and interact with obscured parts of the window.
关于android - 约束布局 ListView 在键盘出现时移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51066982/