0

我将此作为布局的一部分:

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="0dip"
    android:orientation="horizontal"
    android:layout_weight="0.15">

        <TextView 
            android:id="@+id/question_text"
            android:layout_width="0dip"
            android:layout_height="fill_parent" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:text="@string/score_label" />

        <TextView
            android:id="@+id/score_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right" />

</LinearLayout>

第一个TextView在应用程序开始时为空。它的内容是动态变化的。这使得它占用零空间,以便第二个TextView对齐到左侧,即使它layout_gravity设置为right

如何在不考虑内容的情况下使其占据固定宽度?
我考虑过使用layout_weight,但我知道建议反对使用嵌套权重(父级ViewGroup有一个layout_weight属性)。也许我应该使用RelativeLayout?

感谢您的任何建议。

4

2 回答 2

3

我使用android:ems="<some number>". TextView“ems”是字符“M”的宽度。此属性使 TextView 完全符合给定的编号。ems 宽。 http://developer.android.com/reference/android/widget/TextView.html

于 2012-04-30T16:43:36.727 回答
1

您已将所有TextViews宽度设置为android:layout_width="wrap_content",这意味着如果那里没有任何东西,它将没有宽度。您需要将其设置为"match_parent"使其与父容器的宽度相同或将其设置为固定值,例如android:layout_width="100dp".

于 2012-04-30T16:41:40.733 回答