1

这个问题可能更早被问到,但我真的不知道如何搜索它。

我想要实现的是这样的。

city     : some city
state    : some state
pincode  : some pin code
phone no : some phone number

城市:是一种文本视图,某些城市是第二种文本视图。两者都是线性布局。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                              android:orientation="horizontal"
                              android:layout_width="wrap_content"
                              android:layout_height="wrap_content">
                <TextView android:text="City : "
                          android:textSize="15sp"
                          android:layout_height="wrap_content"
                          android:layout_width="wrap_content"
                />
                <TextView android:text="Some city"
                          android:textSize="15sp"
                          android:id="@+id/lblPermanentCity"
                          android:layout_height="wrap_content"
                          android:layout_width="wrap_content"
                />
            </LinearLayout>

任何帮助将不胜感激

4

3 回答 3

1

我不认为您可以仅使用两个 TextView 来实现这一目标。问题是标题(“城市”)左对齐,冒号右对齐。

如果您可以使用左对齐的冒号,则可以使用该layout_weight属性使标题列在所有行上的大小相同,如下所示:

...
<TextView android:text="City:"
          android:layout_height="wrap_content"
          android:layout_width="0"
          android:layout_weight="40"/>
<TextView android:text="some city"
          android:layout_height="wrap_content"
          android:layout_width="0"
          android:layout_weight="60"/>

这将为标题列提供 40% 的宽度,并为值列提供 60% 的宽度。确保你LinearViewlayout_widthmatch_parent

如果你真的必须在中间有冒号,只需为冒号添加第三个 TextView,给它一个固定的宽度(wrap_content具有相同的内容就足够了)

于 2013-04-01T18:49:31.320 回答
1

您可以每行使用三个TextViews,一个用于城市、州等,一个用于“:”,一个用于“某个城市”等。然后将它们放在 a 中RelativeLayout并将冒号(:) 对齐到右边缘最大的TextView(可能是您的“电话号码”)。

于 2013-04-01T18:55:43.080 回答
1

为什么不使用表格布局。我认为这是解决问题的最佳方法。

于 2013-04-02T12:55:52.300 回答