Ich habe folgende ConstraintLayout in meinem Android-Anwendung:Knopf überlappende EditText wenn Tastatur geöffnet ist
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
<ImageView
android:id="@+id/image_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
/>
<TextView
android:id="@+id/instructions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_large"
android:text="@string/instruction"
app:layout_constraintTop_toBottomOf="@id/support_ic"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
/>
<Button
android:id="@+id/call_button"
android:layout_marginTop="@dimen/spacing_large"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:text="@string/phone"
android:textSize="18sp"
android:textColor="@drawable/button"
app:layout_constraintTop_toBottomOf="@+id/instructions"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
/>
<EditText
android:id="@+id/message_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:lines="8"
android:hint="@string/support_message_hint"
android:textColorHint="@color/text_hint"
android:inputType="textCapSentences|textMultiLine"
android:background="@color/background_gray"
android:padding="@dimen/spacing_small"
android:textColor="@color/black"
app:layout_constraintBottom_toTopOf="@+id/send_button"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:gravity="top|left"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintVertical_weight="1"
/>
<Button
android:id="@+id/send_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/support_send"
android:background="@color/button_blue"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</android.support.constraint.ConstraintLayout>
Wenn ich die Tastatur öffnen, die Ansicht passt und die unteren zwei Widgets (die Taste und die editText) bewegen sich mit die Tastatur. Mein Problem ist jedoch, dass die @ id/call_button-Schaltfläche in diesem Fall oben auf dem editText liegt. Ich will das nicht. Ich möchte, dass der editText die Schaltfläche überlagert, wenn die Tastatur geöffnet ist.
Gibt es eine Möglichkeit, den editText Präzedenzfall zu machen, wenn andere Widgets in diesem Szenario überlappen? Ich habe versucht, editText.bringToFront()
in meiner OnCreate-Methode hinzuzufügen, aber das hat nichts getan.
Außerdem versuche ich zu vermeiden, die unteren zwei Widgets (die Schaltfläche und den editText) innerhalb ihres eigenen Layouts verschachteln. Ich möchte, dass sie alle im selben ConstraintLayout bleiben. Danke für die Hilfe im Voraus.
Können Sie einen Screenshot des Problems hinzufügen? – MidasLefko
Ja, gib mir einfach eine Sekunde – hermt2
okay, ich habe sie hinzugefügt – hermt2