Android中ImageView无法居中的有关问题

Android中ImageView无法居中的问题

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

 

2楼heitk前天 16:39
操作下看看
1楼ip8611前天 15:11
太复杂了 楼主 你这方法 简单是直接用相对 layout_centerInparent="true"就ok
Re: eyu8874521前天 15:59
回复ip8611n是呀,相对布局就好办了,但是我是要在线性布局下来实现这个效果,依据个人喜好,相对布局固然写UI比较方便,但比较复杂,牵一发动全身,往往回过头调试代码或UI变更就不那么方便了