在线性布局中的ImageView正下方居中显示TextView

时间:2014-05-02 21:24:43

标签: java android xml textview imageview

尽管文字长度不同,但我试图在每个图标的正下方对齐文字。我更喜欢在这个截图中将所有内容都集中在这一行:

screenshot

我尝试使用线性和相对布局来获得我想要的但没有成功。这段代码就是我现在所拥有的,也是最接近我想要的代码:

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

    <ImageView
        android:id="@+id/grid_item_image"
        android:layout_width="50dp" 
        android:layout_height="50dp"
        android:layout_marginRight="10dp"
        android:src="@drawable/football_logo" >
    </ImageView>

    <TextView 
        android:id="@+id/grid_item_label"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@+id/label"
        android:layout_weight="1"
        android:layout_marginTop="5dp"
        android:gravity="center"
        android:textSize="15sp">
    </TextView>
</LinearLayout>

当然有更好的方法可以做到这一点(也许是在Textview周围使用LinearLayout的RelativeLayout?)。任何帮助将不胜感激......我对此很新。

1 个答案:

答案 0 :(得分:2)

如果您的图标大小正确(例如drawable-mdpi文件夹中的~48像素),那么您可以完全取消ImageView并使用android:drawableTop="@drawable/football_logo"中的TextView

如果您想坚持使用嵌套布局方法,请使用android:layout_gravity="center_horizontal"中的ImageView水平居中ImageView