我对一个相当简单的布局有点麻烦。这里是:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/id1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:ellipsize="end"
android:maxLines="1"/>
<TextView
android:id="@+id/id2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"/>
</LinearLayout>
3个问题:
如何在父 LinearLayout 中垂直居中两个 TextView(或者更好地说,这些视图中的文本)?左视图垂直居中可以,但右视图(因为它的字体较小)不是。它似乎在顶部垂直居中。我显然尝试过使用第二个视图的 layout_gravity ,但这没有任何区别。我可以解决它的唯一方法是将第二个 TextView 包装在 LinearLayout 中,并将其布局高度参数设置为 match_parent (但这是正确的方法吗?)
同样,我希望左侧的视图水平居中于左侧,右侧的视图水平居中于右侧。目前,右视图紧挨着左视图放置。我可以解决这个问题的唯一方法是在两个文本视图之间添加类似这样的内容:
<TextView android:layout_width="0dip" android:layout_height="fill_parent" android:layout_weight="1" android:text="">
基本上充当一个间隔,其大小取决于两个 TextView 中文本的长度
如果视图的组合文本不适合水平放置,我希望截断左侧视图中的文本。没有换行。目前,左侧视图中的文本只是将右侧的文本“推”出父视图。不知道如何实现这一点(除了添加
android:maxLines="1"
以阻止文本换行)。我试过android:ellipsize="end"
了,但这似乎没有任何效果。