天天看點

Android元件----RelativeLayout相對布局的屬性詳解

一、常用屬性:

1、第一類:屬性值為true或false

android:layout_centerhrizontal    相對于父元素水準居中 android:layout_centervertical       相對于父元素垂直居中 android:layout_centerinparent         相對于父元素完全居中 android:layout_alignparentbottom         貼緊父元素的下邊緣(align:對齊) android:layout_alignparentleft           貼緊父元素的左邊緣 android:layout_alignparentright            貼緊父元素的右邊緣(預設值為false) android:layout_alignparenttop               貼緊父元素的上邊緣 android:layout_alignwithparentifmissing     如果對應的兄弟元素找不到的話就以父元素做參照物

2、第二類:屬性值必須為id的引用名"@id/id-name"

android:layout_below              在某元素的下方 android:layout_above              在某元素的的上方 android:layout_toleftof       在某元素的左邊 android:layout_torightof     在某元素的右邊 android:layout_aligntop      本元素的上邊緣和某元素的的上邊緣對齊 android:layout_alignleft       本元素的左邊緣和某元素的的左邊緣對齊 android:layout_alignbottom   本元素的下邊緣和某元素的的下邊緣對齊 android:layout_alignright    本元素的右邊緣和某元素的的右邊緣對齊

3、第三類:屬性值為具體的像素值,如30dp(外邊距和内邊距)

android:layout_margin           外邊距(margin:邊緣) android:layout_margintop           上外邊距 android:layout_marginbottom      下外邊距  android:layout_marginleft           左外邊距 android:layout_marginright         右外邊距 android:padding          内邊距(padding:填充) android:paddingtop         上内邊距 android:paddingbottom       下内邊距 android:paddingleft         左内邊距 android:paddingright              右内邊距

4、第四類:android4.2新增屬性 

android:layout_alignstart           兩個控件開始對齊 android:layout_alignend                 兩個控件結束對齊 android:layout_alignparentstart      子控件和父控件開始對齊 android:layout_alignparentend    子控件和父控件結束對齊

二、外邊距和内邊距的解釋:

來看下面這張圖:

Android元件----RelativeLayout相對布局的屬性詳解

例如:當在布局檔案中,

将第一個textview加入如下代碼:(注:margin的意思是“邊緣”)

将第二個textview加入如下代碼:(注:padding的意思是“填充”)

最終效果如下: 

Android元件----RelativeLayout相對布局的屬性詳解

三、對齊至控件的基準線:

android:layout_alignbaseline      與某元素的基準線對齊

什麼是基準線?

基準線:為了保證印刷字母的整齊而劃定的線。

Android元件----RelativeLayout相對布局的屬性詳解

上圖中的第三條線就是基準線。

完整版代碼舉例:

Android元件----RelativeLayout相對布局的屬性詳解
Android元件----RelativeLayout相對布局的屬性詳解

上方代碼的第19行就是将tv2對齊至tv1的基準線。

顯示效果如下:

Android元件----RelativeLayout相對布局的屬性詳解

上圖中綠色的虛線即為基準線。

三、其他屬性:

1、edittext控件:

android:hint   設定edittext為空時輸入框内的提示資訊。

2、android:gravity

android:gravity  該屬性是對該view裡面的内容的限定。比如一個button裡面的text,你可以設定該text在view的靠左、靠右等位置。

以button為例:

  android:gravity="right"      可以讓button裡面的文字靠右

  android:gravity="top"        可以讓編輯框edittext的光标置于左上方

3、android:gravity和線性布局中的android:layout_gravity差別:

gravity    控制目前控件裡面的内容顯示區域

線性布局中的layout_gravity    目前控件在父元素的位置

比如弄個最外布局,然後裡面包了幾個布局,如果要使這幾個布局都靠底,就可以在最外布局的屬性裡設定androi:gravity="botton"  因為gravity是對裡面的内容起作用。

繼續閱讀