我在线性布局中有2个TextViews,控件有垂直方向,我希望顶部TextView中的文本与底部对齐,底部TextView中的文本与顶部对齐,但无论我做什么改变文本的重力在文本中垂直居中。我需要文字几乎触及小差距
这是xml
<LinearLayout
android:clickable="true"
android:background="@drawable/dialler_button"
android:layout_marginTop="2dip"
android:layout_marginLeft="2dip"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/number2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="2"
android:gravity="center_horizontal|bottom"
android:layout_weight="1"
android:textStyle="bold"
android:textColor="@android:color/white"
android:textSize="30sp"/>
<TextView
android:id="@+id/number2letters"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="ABC"
android:gravity="center_horizontal|top"
android:layout_weight="2"
android:textStyle="bold"
android:textColor="@android:color/white"
android:textSize="13sp"/>
</LinearLayout>
答案 0 :(得分:3)
属性gravity
和layout_gravity
为commonly confused。在这种情况下,您希望在TextView
内设置TextView
在其父级中的严重性,因此您应该使用layout_gravity
而不是gravity
。 gravity
为您设置属性的视图的子视图设置重力。
答案 1 :(得分:1)
试试这个:
<LinearLayout
android:clickable="true"
android:background="@drawable/dialler_button"
android:layout_marginTop="2dip"
android:layout_marginLeft="2dip"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/number2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="2"
android:gravity="center_horizontal|bottom"
android:textStyle="bold"
android:textColor="@android:color/white"
android:textSize="30sp"/>
<TextView
android:id="@+id/number2letters"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="ABC"
android:gravity="center_horizontal|top"
android:textStyle="bold"
android:textColor="@android:color/white"
android:textSize="13sp"/>
</LinearLayout>