0

我已经在下面发布了确切的布局。我想在页脚内垂直居中显示图像和文本。我已经申请:

 android:gravity="center_vertical|center"

对于包含这些元素的 LinearLayout 和内部的 TextView,但整行图像和文本看起来离​​页脚顶部太远了。我希望它垂直居中,但它始终位于页脚的前 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>
4

2 回答 2

0

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

于 2012-08-29T02:09:23.803 回答
0

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

于 2012-08-29T01:29:14.323 回答