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">

     <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>

但是有没有办法给每列一个宽度的百分比?

谢谢!

4

3 回答 3

3

利用

layout_width="0dp"
layout_weight="x"

x你在每个元素上的百分比在哪里。见http://developer.android.com/guide/topics/ui/layout/linear.html

于 2012-09-07T15:42:08.470 回答
2

您的权重属性和宽度为 0dp 并在父项中指定 weightSum。

在您的情况下,将线性布局的 android:weightSum 设置为 1,然后将该权重分配给子项,例如 0.3、0.3 和 0.4。(android: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>
于 2012-09-07T15:44:47.620 回答
2

这篇文章与这篇文章类似。
您可以将每个列宽创建为所需的百分比宽度
检查此Android 测量屏幕百分比

于 2015-05-14T06:43:13.743 回答