Android:3个TextViews,中间的一个应该垂直居中
问题描述:
我正在努力解决布局问题。 事实上,我需要3个TextViews:一个在顶部,一个在中间,一个在底部。Android:3个TextViews,中间的一个应该垂直居中
中间应该占满整个屏幕,因为他们需要显示文本的顶部&下一个应该只得到尽可能多的空间。 如何实现这种布局?
答
你也可以用LinearLayout中做到这一点:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:text="TextView"/>
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
答
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:id="@+id/l1"
android:layout_height="fill_parent" android:orientation="vertical">
<TextView android:layout_width="wrap_content"
android:layout_alignParentTop="true" android:id="@+id/textView1"
android:layout_height="wrap_content" android:text="TextView"
android:layout_alignParentLeft="true"></TextView>
<TextView android:layout_alignParentBottom="true"
android:layout_width="wrap_content" android:id="@+id/textView3"
android:layout_height="wrap_content" android:text="TextView"
></TextView>
<TextView android:layout_centerInParent="true"
android:layout_below="@id/textView1" android:gravity="center_vertical|center_horizontal"
android:layout_width="fill_parent" android:id="@+id/textView2"
android:layout_above ="@id/textView3" android:layout_height="fill_parent"
android:text="TextssssssssssssssssView"
android:layout_alignParentLeft="true" ></TextView>
</RelativeLayout>
你确定这是怎么回事,而无需指定的权重,顶部和底部TextViews工作? – Squonk 2012-03-21 18:51:39
是的。发生的是它将这些权重设置为0,并且它们被中间的一个推到边缘。 – CaseyB 2012-03-21 19:00:24
有趣的知道,谢谢。我从来没有这样做 - 我通常会使用像1:8:1这样的权重来提供10%/ 80%/ 10%的比例来满足OP的要求。也许我只是一个控制怪胎。 :) – Squonk 2012-03-21 19:10:46