做UI布局,尤其是遇到比较复杂的多重LinearLayout嵌套,常常会被一些比较小的问题困扰上半天,比如今天在使用ImageView的时候,想让其居中显示,可是无论怎样设置layout_gravity属性,都无法达到效果,部分代码如下:
[java]
<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\":
[java]
<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设计方面往往很小的细节,很简单的问题,有的时候就是会让你烦上好一阵子,不过自己动手多多设计经验多了,解决起来就简单鸟!
本文地址:https://www.stayed.cn/item/3184
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我