Необходимо, чтобы TextView появился рядом с EditBox в той же строке TableLayout
Я обыскивал форумы и Google, пытаясь выяснить, что я делаю здесь не так. Я хочу, чтобы TextView появился перед EditText в той же строке. Я пытался сделать это с помощью TableLayout, но в результате EditText отодвигается от экрана в портретной ориентации, и вы едва можете увидеть его в альбомной ориентации. Вот мой код до сих пор:
<?xml version="1.0" encoding="utf-8"?>
<Button android:layout_width="wrap_content"
android:layout_alignParentTop="true" android:layout_alignParentRight="true"
android:layout_marginBottom="20dip" android:layout_height="wrap_content"
android:id="@+id/about_button" android:text="@string/about_label" />
<TextView android:text="@string/deck_size_label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dip" android:textSize="24.5sp"
android:layout_alignParentLeft="true"
android:layout_below="@id/about_button"/>
<EditText
android:id="@+id/deck_size_textbox" android:inputType="number"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_toRightOf="@id/about_button" />
->Любая помощь с этим будет принята с благодарностью.
2 ответа
Если текст в вашем TextView слишком широкий, он вытолкнет EditText с экрана. Вы можете заставить TextView и EditText разделить доступную ширину поровну, используя layout_weight, например:
<?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="wrap_content"
android:orientation="horizontal"
>
<TextView
android:text="@string/land_count_label"
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="1"
android:gravity="left"
android:layout_marginBottom="20dip"
android:textSize="24.5sp"
/>
<EditText
android:id="@+id/land_count_textbox"
android:inputType="number"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
/>
</LinearLayout>
Вы можете, вероятно, получить лучший контроль, используя RelativeLayout.
Вы пробовали RelativeLayout? Если вы определяете RelativeLayout с горизонтально ориентированными LinearLayouts внутри него (для строк), вы можете определить атрибуты XML, такие как:
android:layout_toRightOf="@id/idoftextviewhere"
Если он все еще выталкивает окно EditText с экрана, попробуйте также реализовать:
android:layout_alignParentRight