Как выровнять взгляды по широте?
Как создать Android-макет, чтобы заливка меток была выровнена (справа). Я не хочу устанавливать ширину вручную, чтобы сохранить пространство. Левая колонка должна быть такой же маленькой, как и самая широкая метка. Правый столбец заполнить оставшуюся часть родителя.
Примерно так (подчеркивание добавлено только для форматирования здесь):
_______Метка: значение метки _________________
____Большой лейбл: стоимость большого лейбла ______________
Другой ярлык: Значение другого ярлыка __________
______ярлык2: значение ярлыка 2_______________
Проблема в том, что я не знаю, какой ярлык является самым широким, поэтому я не знаю, к какому из них привязать другие. Меня не волнует линейное или относительное расположение... просто предложите самое простое решение. Спасибо
2 ответа
Попробуй это
<?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="vertical"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:orientation="horizontal"
android:padding="10dp" >
-
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginRight="10dp"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="first_name"
android:layout_weight="1"
android:layout_gravity="right"
android:textColor="@color/white"
android:textSize="15dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="right"
android:text="user_dob"
android:textColor="@color/white"
android:textSize="15dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="user_gender"
android:layout_weight="1"
android:textColor="@color/white"
android:textSize="15dp" />
</LinearLayout>
<LinearLayout
android:id="@+id/linear_layout_patient_detail_values"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:text="Name"
android:textSize="15dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:text="12/22/1978"
android:textSize="15dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:text="M"
android:textSize="15dp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
Используйте android:layout_weight, в следующем примере показано, что 1/3 места занимают первая метка, а остальные целые места - вторая.
<LinearLayout
android:id="@+id/main_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF"
android:orientation="horizontal"
android:weightSum="3" >
<TextView
android:id="@+id/one"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:paddingLeft="10dp"
android:text="abc"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/black" />
<TextView
android:id="@+id/two"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_marginLeft="1dp"
android:layout_weight="2"
android:text="abc"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/black" />
</LinearLayout>