【问题标题】:How to align views by the widest?如何按最宽对齐视图?
【发布时间】:2015-04-14 20:42:27
【问题描述】:

如何创建标签填充对齐的 android 布局(右)。我不想手动设置宽度,以节省空间。左列必须与最宽的标签一样小。右列填充父级的其余部分。

类似这样的东西(添加下划线只是为了格式化):
_______标签:标签值_________________
____大标签:大标签的值______________
另一个标签:另一个标签的值__________
______标签2:标签2的值_______________

问题是我不知道哪个标签最宽,所以我不知道将其他标签绑定到哪个标签。我不关心线性或相对布局......只是建议最简单的解决方案。谢谢

【问题讨论】:

标签: android xml android-layout right-align


【解决方案1】:

试试这个

<?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>

【讨论】:

    【解决方案2】:

    使用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>
    

    【讨论】:

    • android:weightSum="3" 是你的屏幕尺寸,你可以改变它假设我制作的屏幕尺寸为 android:weightSum="10",现在根据 ...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-03
    • 1970-01-01
    相关资源
    最近更新 更多