2011年8月15日 星期一

Android : RelativeLayout

字面上的意思就 相對配置 ,會依照依賴的對向配置在相對的位置上


<RelativeLayout android:layout_height="fill_parent" android:layout_width="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">

<ImageView android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/icon"
android:id="@+id/imageView1"
android:layout_alignParentLeft="true"
android:layout_marginTop="5dp"
</ImageView>

</RelativeLayout>


在Xml裡的View欄位加上了

android:layout_alignParentLeft="true"


他就會被配置在畫面的左上角

另外還有幾種
layout_alignParentRight    右邊
layout_alignParentTop       頂部
layout_alignParentBottom  底部

預設是在左邊+上面=layout_alignParentLeft + layout_alignParentTop

所以想要右下角 = layout_alignParentRight  + layout_alignParentBottom

左中間 = layout_alignParentTop + layout_alignParentBottom
+ layout_alignParentLeft(預設可不寫)

正中間 = 上+下+左+右
...
(以下略)

再加上
android:layout_marginTop="5dp"
意思是離頂部有5dp


另外也有
layout_marginRght   右邊
layout_marginLeft    左邊
layout_marginBottom   底部


如果是要相對於某個元件

<ImageView android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/icon"
android:id="@+id/imageView2"
android:layout_below="@+id/imageView1"
android:layout_toLeftOf="@+id/imageView1"></ImageView>


則是加上依附的相對位置和對象

由兩三個互相搭配組成16個方位

layout_below             下方
layout_above            上方
layout_toLeftOf         左方
layout_toRightOf       右方
layout_alignLeft        左下角
layout_alignRight      右下角
layout_alignTop         頂部
layout_alignBottom   底部


補充:  layout_marginRght等等 來配置時要注意,並不是將原件往反方向移動
而是將原件的定位點往那一方增加,所以也會影響到後面的相對位置












android:layout_marginTop="5dp"