在线性布局中居中图像

时间:2014-01-25 21:03:42

标签: android android-layout

这是一个较大的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>

目前它的位置如下:

enter image description here

我的问题

1)尽管在图片按钮上使用android:gravity="center",为什么图像中心不在红色屏幕区域的中间?

2)如何将其置于该列中心?

1 个答案:

答案 0 :(得分:2)

使用

android:gravity="center"

LinearLayout中,然后使用

android:layout_gravity="center"

ImageButton上。

这告诉LinearLayout将其内容放在自身的中心(垂直因为你设置的方向),它告诉图像按钮将自己置于已分配的区域内。