2012-03-21 65 views
0

我正在努力解决布局问题。 事实上,我需要3个TextViews:一个在顶部,一个在中间,一个在底部。Android:3个TextViews,中间的一个应该垂直居中

中间应该占满整个屏幕,因为他们需要显示文本的顶部&下一个应该只得到尽可能多的空间。 如何实现这种布局?

回答

4

你也可以用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> 
+0

你确定这是怎么回事,而无需指定的权重,顶部和底部TextViews工作? – Squonk 2012-03-21 18:51:39

+0

是的。发生的是它将这些权重设置为0,并且它们被中间的一个推到边缘。 – CaseyB 2012-03-21 19:00:24

+0

有趣的知道,谢谢。我从来没有这样做 - 我通常会使用像1:8:1这样的权重来提供10%/ 80%/ 10%的比例来满足OP的要求。也许我只是一个控制怪胎。 :) – Squonk 2012-03-21 19:10:46

0
<?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> 
+0

中间一个几乎填满整个屏幕与其中间的文字 – Akhil 2012-03-21 18:49:50

+0

这是行不通的。你甚至尝试过吗? – dymmeh 2012-03-21 18:54:30

+0

适合我。试了一下,然后给你的代码。你最终发生了什么?现在在第一行添加了xml声明。 – Akhil 2012-03-21 18:58:50