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>