2012-08-29 98 views
0

我已经发布了下面的确切布局。我想在页脚内部垂直居中显示图片和文字。我已经申请:如何在ListView页脚中垂直居中放置内容?

android:gravity="center_vertical|center" 

既含有这些元素里面的TextView但尽管如此整个行图像和文本显示向页脚的顶部路太远了LinearLayout中。我希望它垂直居中,但它始终处于页脚的前30%。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:orientation="vertical" > 

<TextView 
    android:id="@+id/someMessageMessage" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:visibility="gone"   
    android:layout_margin="10dip"/> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:gravity="center_vertical|center" 
    android:paddingBottom="2dip" 
    android:paddingTop="16dip" > 

    <ImageView 
     android:id="@+id/myImg" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="16dip" 
     android:paddingTop="3dip" 
     android:src="@drawable/picimg" > 
    </ImageView> 

    <TextView 
     android:id="@+id/myMessage" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="10dip" 
     android:layout_marginRight="10dip" 
     android:gravity="center_vertical|center" 
     android:text="This message appears way to close to the top of the footer. It should be along with the image in the center:" 
     android:textStyle="bold"/> 
</LinearLayout> 

<Button 
    android:id="@+id/myButton" 
    style="@style/mybuttonstyle" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="10dip" 
    android:text="@string/lbl_send" 
    android:visibility="gone" /> 
</LinearLayout> 

回答

0

看到你的布局后,似乎你还没有给你的TextView的android:paddingTop。这就是为什么它出现在顶部。 此外,如果适合您的布局,您也可以从ImageView中删除android:paddingTop。 希望有所帮助。

+0

true,但TextView和图像都处于同一级别,并在第二个LinearLayout中。这是整个内部布局,我已经给了center_vertical指令 –

+0

我看不出如何在垂直线性布局中进行居中。你基本上有三个“盒子”,彼此之上,没有空间让事情集中。 – dmon

0

图像有多大?我认为问题出在您的第二个LinearLayout。你将高度设置为“wrap_content”,这意味着它只会和最大的孩子一样大。如果图像和文字高度相同,那么它看起来好像什么东西都变得居中。你可以通过强制高度足够大来测试这个理论。

+0

它的一个小图像,它只是在文本的左侧。所以两者都是以垂直为中心。还要注意,两者都在第二个LinearLayout中,所以整个事物应该按照指令向内部LinearLayout垂直居中。 –