尽管文字长度不同,但我试图在每个图标的正下方对齐文字。我更喜欢在这个截图中将所有内容都集中在这一行:
我尝试使用线性和相对布局来获得我想要的但没有成功。这段代码就是我现在所拥有的,也是最接近我想要的代码:
<?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?)。任何帮助将不胜感激......我对此很新。
答案 0 :(得分:2)
如果您的图标大小正确(例如drawable-mdpi文件夹中的~48像素),那么您可以完全取消ImageView
并使用android:drawableTop="@drawable/football_logo"
中的TextView
。
如果您想坚持使用嵌套布局方法,请使用android:layout_gravity="center_horizontal"
中的ImageView
水平居中ImageView
。