如何使用不同的权重(如百分比宽度)填充布局?

时间:2012-05-12 13:01:42

标签: android android-layout android-linearlayout textview

我的水平布局总重量为10。 我想把一些不同宽度的内容放在上面。 我希望我的内容看起来像下一个宽度的比例: 3:5:1:1 即像一张30%,50%,10%,10%的列表 怎么组织这个? 现在我有:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="right"
    android:baselineAligned="true"
    android:clipChildren="false"
    android:orientation="horizontal"
    android:useLargestChild="true"
    android:weightSum="10" >

TextViews具有不同的权重,如下所示:

<TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="top"
        android:layout_weight="3"
        android:padding="2dp"
        android:text="TextView 1"
        android:textAppearance="?android:attr/textAppearanceMedium" />

但它没有用。视图位于屏幕外。 如果我将match_parent更改为wrap_content它看起来没问题,而我没有在其上放置大文本,那么TextView会长大。 我不想要它,我只想显示那部分文本,它将包装在当前的30或50或等等中。

2 个答案:

答案 0 :(得分:2)

您将android:layout_width="match_parent"设置为android:layout_width="0dp"

答案 1 :(得分:0)

我使用

在容器中的限制文本中找到了解决方案
android:maxEms="<Wieght of this TextView>"

似乎工作正常。但我不确定它是否正确。