天天看點

我的Android進階之旅------>Android 衆多的布局屬性詳解

   Android功能強大界面華麗但是衆多的布局屬性就害苦了開發者下面這篇文章結合了網上不少資料希望對讀者有用。

第一類:屬性值為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  本元素的右邊緣和某元素的的右邊緣對齊

第三類屬性值為具體的像素值如30dip40px

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檔案夾裡面的圖檔命名是不能大寫的。

android:id

為控件指定相應的ID

android:text

指定控件當中顯示的文字需要注意的是這裡盡量使用strings.xml檔案當中的字元串

android:gravity

指定View元件的對齊方式比如說居中居右等位置 這裡指的是控件中的文本位置并不是控件本身
指定Container元件的對齊方式比如一個button 在linearlayout裡你想把該button放在靠左、靠右等位置就可以通過該屬性設定以button為 例android:layout_gravity="right"則button靠右

android:textSize

指定控件當中字型的大小

android:background

指定該控件所使用的背景色RGB命名法

android:width

指定控件的寬度

android:height

指定控件的高度

android:layout_width

指定Container元件的寬度

android:layout_height

指定Container元件的高度

android:layout_weight

View中很重要的屬性按比例劃分空間

android:padding*

指定控件的内邊距也就是說控件當中的内容

android:sigleLine

如果設定為真的話則控件的内容在同一行中進行顯示
是控制圖檔如何resized/moved來匹對ImageView的siz

android:layout_centerHrizontal

水準居中

android:layout_centerVertical

垂直居中

android:layout_centerInparent

相對于父元素完全居中

android:layout_alignParentBottom

貼緊父元素的下邊緣

android:layout_alignParentLeft

貼緊父元素的左邊緣
貼緊父元素的右邊緣

android:layout_alignParentTop

貼緊父元素的上邊緣

android:layout_alignWithParentIfMissing

如果對應的兄弟元素找不到的話就以父元素做參照物

android:layout_below

在某元素的下方

android:layout_above

在某元素的的上方

android:layout_toLeftOf

在某元素的左邊

android:layout_toRightOf

在某元素的右邊

android:layout_alignTop

本元素的上邊緣和某元素的的上邊緣對齊

android:layout_alignLeft

本元素的左邊緣和某元素的的左邊緣對齊

android:layout_alignBottom

本元素的下邊緣和某元素的的下邊緣對齊

android:layout_alignRight

本元素的右邊緣和某元素的的右邊緣對齊

android:layout_marginBottom

離某元素底邊緣的距離

android:layout_marginLeft

離某元素左邊緣的距離

android:layout_marginRight

離某元素右邊緣的距離

android:layout_marginTop

離某元素上邊緣的距離

android:paddingLeft

本元素内容離本元素右邊緣的距離

android:paddingRight

本元素内容離本元素上邊緣的距離

android:hint

設定EditText為空時輸入框内的提示資訊

android:LinearLayout

它确定了LinearLayout的方向其值可以為vertical 表示垂直布局horizontal 表示水準布局

android:interpolator

可能有很多人不了解它的用法文檔裡說的也不太清楚其實很簡單看下面interpolator定義一個動畫的變化率the rate of change。這使得基本的動畫效果(alpha, scale, translate, rotate得以加速減速重複等。用通俗的一點的話了解就是動畫的進度使用 Interpolator 控制。interpolator 定義了動畫的變化速度可以實作勻速、正加速、負加速、無規則變加速等。Interpolator 是基類封裝了所有 Interpolator 的共同方法它隻有一個方法即 getInterpolation (float input)該方法 maps a point on the timeline to a multiplier to be applied to the transformations of an animation。Android 提供了幾個 Interpolator 子類實作了不同的速度曲線如下 AccelerateDecelerateInterpolator        在動畫開始與介紹的地方速率改變比較慢在中間的時侯加速 AccelerateInterpolator        在動畫開始的地方速率改變比較慢然後開始加速 CycleInterpolator        動畫循環播放特定的次數速率改變沿着正弦曲線 DecelerateInterpolator        在動畫開始的地方速率改變比較慢然後開始減速 LinearInterpolator        在動畫的以均勻的速率改變 對于 LinearInterpolator 變化率是個常數即 f (x) = x. public float getInterpolation(float input) { return input; } Interpolator其他的幾個子類也都是按照特定的算法實作了對變化率。還可以定義自己的 Interpolator 子類實作抛物線、自由落體等實體效果。 ==================================================================================================   作者歐陽鵬  歡迎轉載與人分享是進步的源泉

繼續閱讀