这是一个较大的XML文件的缩短版本,此处只显示了四列中的一列。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="4" >
<!-- 1st colum -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#ff0000"
android:orientation="vertical"
android:weightSum="4" >
<ImageButton
android:layout_width="wrap_content"
android:layout_height="0dp"
android:gravity="center"
android:layout_weight="1"
android:background="@null"
android:scaleType="fitCenter"
android:src="@drawable/myimage" />
</LinearLayout>
<!-- 2nd colum -->
<!-- 3rd colum -->
<!-- 4th colum -->
</LinearLayout>
目前它的位置如下:
我的问题
1)尽管在图片按钮上使用android:gravity="center"
,为什么图像中心不在红色屏幕区域的中间?
2)如何将其置于该列中心?
答案 0 :(得分:2)
使用
android:gravity="center"
在LinearLayout
中,然后使用
android:layout_gravity="center"
在ImageButton
上。
这告诉LinearLayout将其内容放在自身的中心(垂直因为你设置的方向),它告诉图像按钮将自己置于已分配的区域内。