做UI佈局,尤其是遇到比較複雜的多重LinearLayout巢狀,常常會被一些比較小的問題困擾上半天,可是無論怎樣設定layout_gravity屬性,都無法達到效果
做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>
[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>