Android XML 屬性

chamwarren發表於2018-11-16

一、 Android XML 屬性

  • android:baselineAligned="false"

在專案中會經常使用layout_weight屬性利用比重來設定控制元件的大小,比如4個button各佔用了LinearLayout寬度的1/4,而且是上邊緣和下邊緣都是對齊的,是我們預期想要的效果,但是當第三個button的Text內容變長時,會變成如下的效果: 會發現第三個內容由於長度超過LinearLayout寬度的1/4,會換行,這個是正常的,但是卻發現整個button位置下移了,沒有和其他三個button對齊,很醜,這是怎麼回事呢,仔細看button中text會發現Next和第三個button中text第一行是位於一條水平線上的,這個水平線其實就是所謂的baseline,檢視Android develper的LinearLayout的API會發現有一個屬性:android:baselineAligned,這個屬性預設是true,所以LinearLayout裡面的子View預設是baseline 對齊的,這就會導致第三個button第一行為了和其他button的text對齊下移

Android XML 屬性

  • android:textAlignment="center"
  • ImageView中XML屬性src和background的區別:
    • 1)二者都可以用來展示某個drawable android:background:background會根據ImageView元件給定的長寬進行拉伸,
    • 2)android:src:而src就存放的是原圖的大小,不會進行拉伸。src是圖片內容,bg是背景,可以同時使用。

此外:scaleType只對src起作用; bg可設定透明度,比如在ImageButton中就可以用Android:scaleType控制圖片的縮放方式,

  • android:layout_alignTop
android:layout_alignLeft="@id/center_btn"和某一個控制元件的左邊對齊
android:layout_alignRight="@id/center_btn"和某一個控制元件的右邊對齊
android:layout_alignTop="@id/center_btn"和某一個控制元件的上方對齊
android:layout_alignBottom="@id/center_btn"和某一個控制元件的下方對齊
複製程式碼
  • Android佈局技巧:使用TextView的drawable屬性

    • TextView有一些屬性可以在Text的四周設定一個drawable物件,圖片,shape等合法的drawable都可以用。 left/top/right/bottom就是在文字的上下左右放置drawable。而drawableStart和drawableEnd則有特殊的意義,雖然它們是API 14加上去的,但是要在API 17後才能真正的生效,它們的作用是當語言方向發生變化時,會換邊,LTR語言drawableStart在左邊,而drawableEnd在右邊;但對於RTL語言來說就會反過來drawableStart在右,drawableEnd在左
    android:drawableBottom:在text的下方輸出一個drawable,可以是圖片,樣式,顏色等。
    android:drawableLeft:在text的左邊輸出一個drawable,可以是圖片,樣式,顏色等。
    android:drawableRight:在text的右邊輸出一個drawable,可以是圖片,樣式,顏色等。
    android:drawableTop:在text的正上方輸出一個drawable,可以是圖片,樣式,顏色等。
    android:drawableStart: 在text的開始處輸出一個drawable,可以是圖片,樣式,顏色等。
    android:drawableEnd: 在text的結束處輸出一個drawable,可以是圖片,樣式,顏色等
    複製程式碼
    • TextView的drawable的一些注意事項
    1、TextView的padding作用在drawable之外
    2、TextView的高度或寬度為wrap_content時將是文字和drawable中較大的那一個,再加上padding和margin
    3、gravity只對文字起作用,對drawable不起作用
    4、drawable會在其所在的維度居中顯示,比如drawableLeft是上下垂直居中的,以此類推
    複製程式碼

相關文章