Android中ImageView无法居中的问题


做Android UI布局,尤其是遇到比较复杂的多重LinearLayout嵌套,常常会被一些比较小的问题困扰上半天,比如今天在使用ImageView的时候,想让其居中显示,可是无论怎样设置layout_gravity属性,都无法达到效果,部分代码如下:

<LinearLayout 
        android:layout_width="wrap_content" 
        android:layout_height="fill_parent" 
        android:orientation="vertical" 
        android:layout_weight="1" 
        android:padding="20dp" > 
         
        <LinearLayout 
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" 
            android:orientation="horizontal"> 
            <LinearLayout 
                android:layout_width="108dp" 
                android:layout_height="108dp" 
                android:orientation="vertical" 
                android:background="#3399ff"> 
                <ImageView 
                    android:layout_width="64dp" 
                    android:layout_height="64dp" 
                    android:src="@drawable/menu_icon__mail" 
                    android:layout_gravity="center"/> 
            </LinearLayout> 

于是乎四处找资料寻求解决的方式,原来是父类视图的属性没有设置的原因,将父类视图设置为居中边可解决,即android:gravity="center":

<LinearLayout 
        android:layout_width="wrap_content" 
        android:layout_height="fill_parent" 
        android:orientation="vertical" 
        android:layout_weight="1" 
        android:padding="20dp" > 
         
        <LinearLayout 
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" 
            android:orientation="horizontal"> 
            <LinearLayout 
                android:layout_width="108dp" 
                android:layout_height="108dp" 
                android:orientation="vertical" 
                android:gravity="center" 
                android:background="#3399ff"> 
                <ImageView 
                    android:layout_width="64dp" 
                    android:layout_height="64dp" 
                    android:src="@drawable/menu_icon__mail" 
                    android:layout_gravity="center"/> 
            </LinearLayout> 

UI设计方面往往很小的细节,很简单的问题,有的时候就是会让你烦上好一阵子,不过自己动手多多设计经验多了,解决起来就简单鸟!

相关内容