我的这种布局有硬编码宽度:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:paddingTop="4dip"
android:paddingBottom="6dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="13sp"
android:weightSum="1.0">
<TextView android:id="@+id/TRAIN_CELL"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".60"/>
<TextView android:id="@+id/FROM_CELL"
android:layout_width="0dp"
android:textSize="20sp"
android:textStyle="bold"
android:gravity="center"
android:textColor="@color/light_best_blue"
android:layout_height="wrap_content"
android:layout_weight=".20"/>
<TextView android:id="@+id/TO_CELL"
android:layout_width="0dp"
android:textSize="20sp"
android:textStyle="bold"
android:gravity="center"
android:layout_weight=".20"
android:textColor="@color/light_best_blue"
android:layout_height="wrap_content" />
</LinearLayout>
但有没有办法给每列提供宽度的百分比?
谢谢!
答案 0 :(得分:3)
使用
layout_width="0dp"
layout_weight="x"
其中x
是每个元素的百分比。见http://developer.android.com/guide/topics/ui/layout/linear.html
答案 1 :(得分:2)
您将weight属性和宽度设置为0dp,并在父级中指定weightSum。
在你的情况下,将线性布局的android:weightSum设置为1,并将孩子之间的权重除以0.3,0.3和0.4。 (机器人:layout_weight = “0.3”)。
编辑:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:paddingTop="4dip"
android:paddingBottom="6dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="13sp"
android:weightSum="1.0"
android:orientation="horizontal">
<TextView android:id="@+id/TRAIN_CELL"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".60"/>
<TextView android:id="@+id/FROM_CELL"
android:layout_width="0dp"
android:textSize="20sp"
android:textStyle="bold"
android:gravity="center"
android:layout_height="wrap_content"
android:layout_weight=".20"/>
<TextView android:id="@+id/TO_CELL"
android:layout_width="0dp"
android:textSize="20sp"
android:textStyle="bold"
android:gravity="center"
android:layout_weight=".20"
android:layout_height="wrap_content" />
</LinearLayout>
答案 2 :(得分:2)
这篇文章类似于this帖子
您可以创建每个列宽到所需宽度的百分比
请检查此Android Measure Screen in percentage