Android 如何让右侧子对象在水平布局的左侧子对象旁边流动

Android 如何让右侧子对象在水平布局的左侧子对象旁边流动,android,layout,Android,Layout,外部父线性布局的宽度有限,有三个子: [child A][<- child b ->][child c] 如果子1的内容较短,则子2不会经过它,而是与右侧对齐 [<- child b ->] [element 1] [element 2] [] [要素1][要素2] 不想给孩子1一个硬编码的maxWidth。 有什么建议吗? 如果不在代码中创建自定义视图组或更改宽度,我能想到的最接近的事情

外部父线性布局的宽度有限,有三个子:

[child A][<-   child b           ->][child c]
如果子1的内容较短,则子2不会经过它,而是与右侧对齐

[<-   child b                ->]
[element 1]          [element 2]
[]
[要素1][要素2]
不想给孩子1一个硬编码的maxWidth。 有什么建议吗?


如果不在代码中创建自定义视图组或更改宽度,我能想到的最接近的事情

使用wrap_content将第一个文本视图设置为一个安全的数字,并将其设置为不会推开第二个文本视图的
maxWidth

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:maxWidth="50dp"
        android:layout_marginRight=“3dp”
        android:ellipsize="end"
        android:singleLine="true"
        />

    <TextView                    
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:singleLine="true"/>

</LinearLayout>

只是有一个类似的案例,这种布局很有效

<LinearLayout

    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="8dp"
    android:orientation="horizontal"
    >

    <ImageView

        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_marginRight="8dp"
        android:layout_alignParentLeft="true"

        android:scaleType="centerCrop"
        android:src="@drawable/content"
        android:layout_gravity="center_vertical"

        />

    <TextView

        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_gravity="left|center_vertical"

        android:background="@color/white"
        android:ellipsize="end"
        android:gravity="left|center_vertical"
        android:singleLine="true"
        android:textColor="@color/black"
        android:textSize="@dimen/text_size"


        />

    <TextView

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:layout_alignParentRight="true"
        android:background="@color/white"
        android:gravity="center_vertical"
        android:textSize="@dimen/text_size"
        android:text="Tap to change"

        android:drawableRight="@drawable/icon_dropdown"
        />

</LinearLayout>


它没有。如果子项1太长,它将推出子项2。谢谢,无法硬编码maxWidth。并试图避免动态计算最大宽度。
android:layout_width="0dp"
android:layout_weight="1"
[<-   child b                ->]
[element 1]          [element 2]
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight=“3dp”
                android:ellipsize="end"
                android:singleLine="true"
                />

            <TextView                    
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:singleLine="true"/>
        </LinearLayout>
<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:maxWidth="50dp"
        android:layout_marginRight=“3dp”
        android:ellipsize="end"
        android:singleLine="true"
        />

    <TextView                    
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:singleLine="true"/>

</LinearLayout>
<LinearLayout

    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="8dp"
    android:orientation="horizontal"
    >

    <ImageView

        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_marginRight="8dp"
        android:layout_alignParentLeft="true"

        android:scaleType="centerCrop"
        android:src="@drawable/content"
        android:layout_gravity="center_vertical"

        />

    <TextView

        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_gravity="left|center_vertical"

        android:background="@color/white"
        android:ellipsize="end"
        android:gravity="left|center_vertical"
        android:singleLine="true"
        android:textColor="@color/black"
        android:textSize="@dimen/text_size"


        />

    <TextView

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:layout_alignParentRight="true"
        android:background="@color/white"
        android:gravity="center_vertical"
        android:textSize="@dimen/text_size"
        android:text="Tap to change"

        android:drawableRight="@drawable/icon_dropdown"
        />

</LinearLayout>