我有一份我想要展示的项目清单。我写了以下代码
对于每个项目的观点:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="12dp"
android:paddingStart="8dp"
android:paddingTop="4dp"
android:paddingBottom="4dp">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="6"
android:gravity="center" >
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="4dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="4">
<TextView
android:id="+@id/receipt_item_name"
android:layout_width="wrap_content"
android:textAlignment="viewStart"
android:layout_height="wrap_content"
android:textStyle="bold"
android:text="item name" />
<TextView
android:layout_width="wrap_content"
android:textAlignment="viewStart"
android:layout_height="wrap_content"
android:layout_below="@id/receipt_item_name"
android:text="selected by 2 others"
android:textSize="10sp"/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textAlignment="textEnd"
android:text="10$" />
</LinearLayout>
</RelativeLayout>
但是,如果receipt_item_name中的文字太长,则会生成下一个 textview右移。如何确保每个视图的重量都很稳定? 或者我还能做些什么来达到同样的效果?
答案 0 :(得分:2)
将width
的每个布局的weight
更改为0,如下所示:
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="4">
对于这两个人:
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="1" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textAlignment="textEnd"
android:text="10$" />
问题是,当您同时设置weight
和width
时,width
优先,忽略weight
属性。