我的ListView行中有3个TextView
我想平等地分配它们。我尝试过使用重力,但它没有用。
所提供的空间应在文本中平均分配,或者可以有所不同。
以下是代码:
list.xml
<ListView
android:layout_width="wrap_content"
android:layout_height="457dp"
android:id="@+id/payment_plan_list_view"
android:layout_gravity="left|center"
android:divider="@android:color/transparent"
android:dividerHeight="20dp"
android:layout_marginTop="10dp"
android:layout_weight="3"
/>
list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15dp"
android:text="New Text"
android:layout_gravity="left|center"
android:id="@+id/sr_no"
android:layout_weight="3"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15dp"
android:text="New Text"
android:layout_gravity="left|center"
android:id="@+id/stage"
android:layout_weight="3"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15dp"
android:text="New Text"
android:layout_gravity="left|center"
android:id="@+id/percentage"
android:layout_weight="3"
/>
</TableRow>
</TableLayout>
答案 0 :(得分:1)
删除TableLayout,只需使用权重 加权维度必须 0dp 才能正常工作 另请注意,我的LinearLayout具有水平方向:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="15dp"
android:text="New Text"
android:layout_gravity="left|center"
android:id="@+id/sr_no"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="15dp"
android:text="New Text"
android:layout_gravity="left|center"
android:id="@+id/stage"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="15dp"
android:text="New Text"
android:layout_gravity="left|center"
android:id="@+id/percentage"
/>
</LinearLayout>
答案 1 :(得分:1)
如果你将重力设置为左/中心,那么显然它们就像是。
1
2
3
如果您希望textview像1-2-3一样,请使用填充和重量并移除重力。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingRight="5dp"
android:paddingLeft="5dp"
android:textSize="15dp"
android:text="New Text"
android:id="@+id/sr_no"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:paddingRight="5dp"
android:paddingLeft="5dp"
android:layout_weight="1"
android:textSize="15dp"
android:text="New Text"
android:id="@+id/stage"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingRight="5dp"
android:paddingLeft="5dp"
android:textSize="15dp"
android:text="New Text
android:id="@+id/percentage"
/>
答案 2 :(得分:0)
将android:layout_width="wrap_content"
更改为android:layout_width="0dp"
然后将android:layout_weight="3"
设置为android:layout_weight="1"
如上所述,请删除TableLayout
- 不确定其用途。
答案 3 :(得分:0)
尝试使用这样的布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15dp"
android:text="New Text"
android:layout_gravity="left|center"
android:id="@+id/sr_no"
android:layout_weight="0.35"
android:singleLine="true"
android:padding="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15dp"
android:text="New Text"
android:layout_gravity="left|center"
android:id="@+id/stage"
android:layout_weight="0.35"
android:singleLine="true"
android:padding="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15dp"
android:text="New Text"
android:layout_gravity="left|center"
android:id="@+id/percentage"
android:layout_weight="0.30"
android:singleLine="true"
android:padding="5dp" />
</LinearLayout>
希望有所帮助......