Ich habe folgenden einfachen Layout. Das Problem kann im Android Studio Designer reproduziert werden:RelativeLayout Ansicht nach rechts von TextView
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/x"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/margin_small"
android:layout_marginRight="@dimen/margin_small"
android:text="@string/long_string"
android:textAppearance="?android:attr/textAppearanceSmall"/>
<CheckBox
android:id="@+id/y"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/x"
android:layout_toEndOf="@+id/x"
android:layout_centerVertical="true" />
</RelativeLayout>
Dieses Layout funktioniert gut, wenn die Textlänge der Textview kurz ist. Das Kontrollkästchen befindet sich auf der rechten Seite der Textansicht. Wenn der Text jedoch lang wird und sich vielleicht sogar umschließt, wird das Kontrollkästchen aus der Ansicht entfernt. Es ist nicht mehr sichtbar. Ich möchte, dass die Checkbox immer rechts von der Textansicht sichtbar ist, auch wenn sie die gesamte Breite des Bildschirms ausfüllt.
Ich habe versucht, das Layout mit einem LinearLayout neu zu schreiben, das auch nicht funktioniert.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/x"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/margin_small"
android:layout_marginRight="@dimen/margin_small"
android:text="@string/long_string"
android:textAppearance="?android:attr/textAppearanceSmall"/>
<CheckBox
android:id="@+id/y"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
Kennen Sie einen Trick, um dies mit relativ Layout zu erreichen? Ich würde dieses Verhalten irgendwie vom relativen Layout erwarten. Dank;)
Ich bin mir dieser Möglichkeit bewusst, aber wie ich fragte, ich möchte das Kontrollkästchen auf der rechten Seite der Textansicht nicht auf der rechten Seite, weil dieses Layout funktioniert nicht gut auf Tabletten mit einem großen Bildschirm. Denn mit kurzen Strings wären die beiden Elemente zu stark getrennt. –
Ok, Sie können dieses relative Layout als separates Element (Ansicht) nehmen und es in Ihre übergeordneten Layouts aufnehmen. –
Ich verstehe nicht, was du meinst. Könnten Sie das klären? Wenn Sie dieses Layout in eine übergeordnete Ansicht einbeziehen, ändert sich nichts daran. –