線性布局和相對布局


1、LinearLayout線性布局的屬性詳解

android:layout_gravity 本元素相對於父元素的重力方向

android:gravity 本元素所有子元素的重力方向

android:orientation 線性布局以列或行來顯示內部子元素

android:layout_weight 子元素對未占用空間水平或垂直分配權重值


當 android:orientation="vertical" 時, 只有水平方向的設置才起作用,垂直方向的設置不起作用。即:left,right,center_horizontal 是生效的。!!!!

當 android:orientation="horizontal" 時, 只有垂直方向的設置才起作用,水平方向的設置不起作用。即:top,bottom,center_vertical 是生效的。!!!!


android:layout_gravity 和 android:gravity 的區別

android:gravity對元素本身起作用-本身元素顯示在什么位置

android:layout_gravity相對與它的父元素-元素顯示在父元素的什么位置。

如:Button控件

android:layout_gravity 表示button在界面上的位置

android:gravity表示button上的字在button上的位置。

可選值[多選時用“|”分開]

top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。

top 將對象放在其容器的頂部,不改變其大小.

bottom 將對象放在其容器的底部,不改變其大小.

left將對象放在其容器的左側,不改變其大小.

right將對象放在其容器的右側,不改變其大小.

center_vertical 將對象縱向居中,不改變其大小.

垂直對齊方式:垂直方向上居中對齊。

fill_vertical 必要的時候增加對象的縱向大小,以完全充滿其容器. 垂直方向填充

center_horizontal 將對象橫向居中,不改變其大小水平對齊方式:水平方向上居中對齊

fill_horizontal 必要的時候增加對象的橫向大小,以完全充滿其容器. 水平方向填充

center 將對象橫縱居中,不改變其大小.

fill 必要的時候增加對象的橫縱向大小,以完全充滿其容器.

clip_vertical 附加選項,用於按照容器的邊來剪切對象的頂部和/或底部的內容. 剪切基於其縱向對齊設置:頂部對齊時,剪切底部;底部對齊時剪切頂部;除此之外剪切頂部和底部.垂直方向裁剪

clip_horizontal 附加選項,用於按照容器的邊來剪切對象的左側和/或右側的內容. 剪切基於其橫向對齊設置:左側對齊時,剪切右側;右側對齊時剪切左側;除此之外剪切左側和右側.水平方向裁剪

例子

TextView要讓文本垂直/水平居中顯示,有兩種情況需要考慮:

1、layout_width/layout_height為wrap_content,此時要讓TextView在父控件上居中顯示,必須設置layout_gravity=”center”。

2、layout_width/layout_height為fill_parent,此時由於TextView已占據父窗體所有空間,必須設置gravity=”center”。

 

二、relativelayout相對布局的屬性詳解

RelativeLayout用到的一些重要的屬性:
  第一類:屬性值為true或false
  android:layout_centerHrizontal 水平居中
  android:layout_centerVertical 垂直居中
  android:layout_centerInparent 相對於父元素完全居中
  android:layout_alignParentBottom 貼緊父元素的下邊緣
  android:layout_alignParentLeft 貼緊父元素的左邊緣
  android:layout_alignParentRight 貼緊父元素的右邊緣
  android:layout_alignParentTop 貼緊父元素的上邊緣
  android:layout_alignWithParentIfMissing 如果對應的兄弟元素找不到的話就以父元素做參照物
  第二類:屬性值必須為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 本元素的右邊緣和某元素的的右邊緣對齊
  第三類:屬性值為具體的像素值,如30dip,40px
  android:layout_marginBottom 離某元素底邊緣的距離
  android:layout_marginLeft 離某元素左邊緣的距離
  android:layout_marginRight 離某元素右邊緣的距離
  android:layout_marginTop 離某元素上邊緣的距離
  EditText的android:hint
  設置EditText為空時輸入框內的提示信息。
  android:gravity
  android:gravity屬性是對該view 內容的限定.比如一個button 上面的text. 你可以設置該text 在view的靠左,靠右等位置.以button為例,android:gravity="right"則button上面的文字靠右
  android:layout_gravity
  android:layout_gravity是用來設置該view相對與起父view 的位置.比如一個button 在linearlayout里,你想把該button放在靠左、靠右等位置就可以通過該屬性設置.以button為例,android:layout_gravity="right"則button靠右
  android:layout_alignParentRight
  使當前控件的右端和父控件的右端對齊。這里屬性值只能為true或false,默認false。
  android:scaleType:
  android:scaleType是控制圖片如何resized/moved來匹對ImageView的size。ImageView.ScaleType / android:scaleType值的意義區別:
  CENTER /center 按圖片的原來size居中顯示,當圖片長/寬超過View的長/寬,則截取圖片的居中部分顯示
  CENTER_CROP / centerCrop 按比例擴大圖片的size居中顯示,使得圖片長(寬)等於或大於View的長(寬)
  CENTER_INSIDE / centerInside 將圖片的內容完整居中顯示,通過按比例縮小或原來的size使得圖片長/寬等於或小於View的長/寬
  FIT_CENTER / fitCenter 把圖片按比例擴大/縮小到View的寬度,居中顯示
  FIT_END / fitEnd 把圖片按比例擴大/縮小到View的寬度,顯示在View的下部分位置
  FIT_START / fitStart 把圖片按比例擴大/縮小到View的寬度,顯示在View的上部分位置
  FIT_XY / fitXY 把圖片 不按比例擴大/縮小到View的大小顯示
  MATRIX / matrix 用矩陣來繪制,動態縮小放大圖片來顯示。
  ** 要注意一點,Drawable文件夾里面的圖片命名是不能大寫的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM