Android控制元件佈局屬性全解

菜鳥—》攻城獅發表於2014-11-17

Android功能強大,介面華麗,但是眾多的佈局屬性就害苦了開發者,下面這篇文章結合了網上不少資料.

第一類:屬性值為true或false
android:layout_centerHrizontal 水平居中 (Hrizontal表示水平)
android:layout_centerVertical 垂直居中 (Vertiacl表示垂直)
android:layout_centerInparent 相對於父元素完全居中
android:layout_alignParentBottom 貼緊父元素的下邊緣 (align 表示使什麼成為一行)
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 離某元素底邊緣的距離 margin英文是邊緣的意思
android:layout_marginLeft 離某元素左邊緣的距離
android:layout_marginRight 離某元素右邊緣的距離
android:layout_marginTop 離某元素上邊緣的距離

EditText的屬性

android:hint 設定EditText為空時輸入框內的提示資訊。
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: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元件的對齊方式,比如說居中,居右等位置 這裡指的是控制元件中的文字位置並不是控制元件本身
android:layout_gravity
指定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
如果設定為真的話,則控制元件的內容在同一行中進行顯示
android:scaleType
是控制圖片如何resized/moved來匹對ImageView的siz
android:layout_centerHrizontal
水平居中
android:layout_centerVertical
垂直居中
android:layout_centerInparent
相對於父元素完全居中
android:layout_alignParentBottom
貼緊父元素的下邊緣
android:layout_alignParentLeft
貼緊父元素的左邊緣
android:layout_alignParentRight
貼緊父元素的右邊緣
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 子類,實現拋物線、自由落體等物理效果。

TextView屬性彙總

android:autoLink設定是否當文字為URL連結/email/電話號碼/map時,文字顯示為可點選的連結。可選值(none/web/email/phone/map/all)

android:autoText如果設定,將自動執行輸入值的拼寫糾正。此處無效果,在顯示輸入法並輸入的時候起作用。

android:bufferType指定getText()方式取得的文字類別。選項editable 類似於StringBuilder可追加字元,也就是說getText後可呼叫append方法設定文字內容。spannable 則可在給定的字元區域使用樣式,參見這裡1、這裡2。

android:capitalize設定英文字母大寫型別。此處無效果,需要彈出輸入法才能看得到,參見EditView此屬性說明。

android:cursorVisible設定游標為顯示/隱藏,預設顯示。

android:digits設定允許輸入哪些字元。如”1234567890.+-*/% ()”

android:drawableBottom在text的下方輸出一個drawable,如圖片。如果指定一個顏色的話會把text的背景設為該顏色,並且同時和background使用時覆蓋後者。

android:drawableLeft在text的左邊輸出一個drawable,如圖片。

android:drawablePadding設定text與drawable(圖片)的間隔,與drawableLeft、 drawableRight、drawableTop、drawableBottom一起使用,可設定為負數,單獨使用沒有效果。

android:drawableRight在text的右邊輸出一個drawable。

android:drawableTop在text的正上方輸出一個drawable。

android:editable設定是否可編輯。

android:editorExtras設定文字的額外的輸入資料。

android:ellipsize設定當文字過長時,該控制元件該如何顯示。有如下值設定:”start”—-省略號顯示在開頭;”end” ——省略號顯示在結尾;”middle”—-省略號顯示在中間;”marquee” ——以跑馬燈的方式顯示(動畫橫向移動)

android:freezesText設定儲存文字的內容以及游標的位置。

android:gravity設定文字位置,如設定成”center”,文字將居中顯示。

android:hintText為空時顯示的文字提示資訊,可通過textColorHint設定提示資訊的顏色。此屬性在 EditView中使用,但是這裡也可以用。

android:imeOptions附加功能,設定右下角IME動作與編輯框相關的動作,如actionDone右下角將顯示一個”完成”,而不設定預設是一個回車符號。這個在EditView中再詳細說明,此處無用。

android:imeActionId設定IME動作ID。

android:imeActionLabel設定IME動作標籤。

android:includeFontPadding設定文字是否包含頂部和底部額外空白,預設為true。

android:inputMethod為文字指定輸入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin,但是這裡報錯找不到。

android:inputType設定文字的型別,用於幫助輸入法顯示合適的鍵盤型別。在EditView中再詳細說明,這裡無效果。

android:linksClickable設定連結是否點選連線,即使設定了autoLink。

android:marqueeRepeatLimit在ellipsize指定marquee的情況下,設定重複滾動的次數,當設定為 marquee_forever時表示無限次。

android:ems設定TextView的寬度為N個字元的寬度。這裡測試為一個漢字字元寬度

android:maxEms設定TextView的寬度為最長為N個字元的寬度。與ems同時使用時覆蓋ems選項。

android:minEms設定TextView的寬度為最短為N個字元的寬度。與ems同時使用時覆蓋ems選項。

android:maxLength限制顯示的文字長度,超出部分不顯示。

android:lines設定文字的行數,設定兩行就顯示兩行,即使第二行沒有資料。

android:maxLines設定文字的最大顯示行數,與width或者layout_width結合使用,超出部分自動換行,超出行數將不顯示。

android:minLines設定文字的最小行數,與lines類似。

android:lineSpacingExtra設定行間距。

android:lineSpacingMultiplier設定行間距的倍數。如”1.2″

android:numeric如果被設定,該TextView有一個數字輸入法。此處無用,設定後唯一效果是TextView有點選效果,此屬性在EdtiView將詳細說明。

android:password以小點”.”顯示文字

android:phoneNumber設定為電話號碼的輸入方式。

android:privateImeOptions設定輸入法選項,此處無用,在EditText將進一步討論。

android:scrollHorizontally設定文字超出TextView的寬度的情況下,是否出現橫拉條。

android:selectAllOnFocus如果文字是可選擇的,讓他獲取焦點而不是將游標移動為文字的開始位置或者末尾位置。 TextView中設定後無效果。

android:shadowColor指定文字陰影的顏色,需要與shadowRadius一起使用。

android:shadowDx設定陰影橫向座標開始位置。

android:shadowDy設定陰影縱向座標開始位置。

android:shadowRadius設定陰影的半徑。設定為0.1就變成字型的顏色了,一般設定為3.0的效果比較好。

android:singleLine設定單行顯示。如果和layout_width一起使用,當文字不能全部顯示時,後面用”…”來表示。如android:text=”test_ singleLine ”

android:singleLine=”true” android:layout_width=”20dp”將只顯示”t…”。如果不設定singleLine或者設定為false,文字將自動換行

android:text設定顯示文字.

android:textAppearance設定文字外觀。如 “?android:attr/textAppearanceLargeInverse”這裡引用的是系統自帶的一個外觀,?表示系統是否有這種外觀,否則使用預設的外觀。可textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse

android:textColor設定文字顏色

android:textColorHighlight被選中文字的底色,預設為藍色

android:textColorHint設定提示資訊文字的顏色,預設為灰色。與hint一起使用。

android:textColorLink文字連結的顏色.

android:textScaleX設定文字之間間隔,預設為1.0f。

android:textSize設定文字大小,推薦度量單位”sp”,如”15sp”

android:textStyle設定字形[bold(粗體) 0, italic(斜體) 1, bolditalic(又粗又斜) 2] 可以設定一個或多個,用”|”隔開

android:typeface設定文字字型,必須是以下常量值之一:normal 0, sans 1, serif 2, monospace(等寬字型) 3]

android:height設定文字區域的高度,支援度量單位:px(畫素)/dp/sp/in/mm(毫米)

android:maxHeight設定文字區域的最大高度

android:minHeight設定文字區域的最小高度

android:width設定文字區域的寬度,支援度量單位:px(畫素)/dp/sp/in/mm(毫米),與layout_width 的區別看這裡。

android:maxWidth設定文字區域的最大寬度

android:minWidth設定文字區域的最小寬度

Android activity屬性彙總

android:allowTaskReparenting

是否允許activity更換從屬的任務,比如從簡訊息任務切換到瀏覽器任務。

android:alwaysRetainTaskState

是否保留狀態不變, 比如切換回home, 再從新開啟, activity處於最後的狀態

android:clearTaskOnLanunch

比如 P 是 activity, Q 是被P 觸發的 activity, 然後返回Home, 從新啟動 P,是否顯示 Q

android:configChanges

當配置list發生修改時,是否呼叫 onConfigurationChanged() 方法 比如 “locale|navigation|orientation”.

android:enabled

activity 是否可以被例項化,

android:excludeFromRecents

是否可被顯示在最近開啟的activity列表裡

android:exported

是否允許activity被其它程式呼叫

android:finishOnTaskLaunch

是否關閉已開啟的activity當使用者重新啟動這個任務的時候

android.icon

android:label

android:launchMode

activity啟動方式, “standard” “singleTop” “singleTask” “singleInstance”

其中前兩個為一組, 後兩個為一組

android:multiprocess

允許多程式

android:name

activity的類名, 必須指定

androidnHistory

是否需要移除這個activity當使用者切換到其他螢幕時。這個屬性是 API level 3 中引入的

android:permission

android:process

一 個activity執行時所在的程式名,所有程式元件執行在應用程式預設的程式中,這個程式名跟應用程式的包名一致。中的元素process屬效能夠為所有元件設定一個新的預設值。但是任何元件都可以覆蓋這個預設值,允許你將你的程式放在多程式中執行。 如果這個屬性被分配的名字以:開頭,當這個activity執行時, 一個新的專屬於這個程式的程式將會被建立。如果這個程式名以小寫字母開頭,這個activity將會執行在全域性的程式中,被它的許可所提供。

android:screenOrientation

activity顯示的模式, “unspecified” 預設值 “landscape” 風景畫模式,寬度比高度大一些 “portrait” 肖像模式, 高度比寬度大。 “user” 使用者的設定 “behind” “sensor” “nosensor”

android:stateNotNeeded

是否 activity被銷燬和成功重啟並不儲存狀態

android:taskAffinity

activity的親屬關係, 預設情況同一個應用程式下的activity有相同的關係

android:theme

activity的樣式主題, 如果沒有設定,則activity的主題樣式從屬於應用程式,參見元素的theme屬性

android:windowSoftInputMode

activity主視窗與軟鍵盤的互動模式, 自從API level 3 被引入

活動的主視窗如何與包含螢幕上的軟鍵盤視窗互動。這個屬性的設定將會影響兩件事情:

1> 軟鍵盤的狀態——是否它是隱藏或顯示——當活動(Activity)成為使用者關注的焦點。

2> 活動的主視窗調整——是否減少活動主視窗大小以便騰出空間放軟鍵盤或是否當活動視窗的部分被軟鍵盤覆蓋時它的內容的當前焦點是可見的。

它的設定必須是下面列表中的一個值,或一個”state…”值加一個”adjust…”值的組合。在任一組設定多個值——多個”state…”values,例如&mdash有未定義的結果。各個值之間用|分開。例如: <activity android:windowSoftInputMode=”stateVisible|adjustResize” . . . >

在這設定的值(除”stateUnspecified”和”adjustUnspecified”以外)將覆蓋在主題中設定的值

值 描述

“stateUnspecified” 軟鍵盤的狀態(是否它是隱藏或可見)沒有被指定。系統將選擇一個合適的狀態或依賴於主題的設定。這個是為了軟體盤行為預設的設定。

 

“stateUnchanged” 軟鍵盤被保持無論它上次是什麼狀態,是否可見或隱藏,當主視窗出現在前面時。

“stateHidden” 當使用者選擇該Activity時,軟鍵盤被隱藏——也就是,當使用者確定導航到該Activity時,而不是返回到它由於離開另一個Activity。

“stateAlwaysHidden” 軟鍵盤總是被隱藏的,當該Activity主視窗獲取焦點時。

“stateVisible” 軟鍵盤是可見的,當那個是正常合適的時(當使用者導航到Activity主視窗時)。

“stateAlwaysVisible” 當使用者選擇這個Activity時,軟鍵盤是可見的——也就是,也就是,當使用者確定導航到該Activity時,而不是返回到它由於離開另一個Activity。

“adjustUnspecified” 它不被指定是否該Activity主視窗調整大小以便留出軟鍵盤的空間,或是否視窗上的內容得到螢幕上當前的焦點是可見的。系統將自動選擇這些模式中一種主要依賴於是否視窗的內容有任何佈局檢視能夠滾動他們的內容。如果有這樣的一個檢視,這個視窗將調整大小,這樣的假設可以使滾動視窗的內容在一個較小的區域中可見的。這個是主視窗預設的行為設定。

“adjustResize” 該Activity主視窗總是被調整螢幕的大小以便留出軟鍵盤的空間。

“adjustPan” 該Activity主視窗並不調整螢幕的大小以便留出軟鍵盤的空間。相反,當前視窗的內容將自動移動以便當前焦點從不被鍵盤覆蓋和使用者能總是看到輸入內容的部分。這個通常是不期望比調整大小,因為使用者可能關閉軟鍵盤以便獲得與被覆蓋內容的互動操作。

Android EditText 屬性彙總

android:layout_gravity=”center_vertical”

設定控制元件顯示的位置:預設top,這裡居中顯示,還有bottom

android:hint=”請輸入數字!”

設定顯示在空間上的提示資訊

android:numeric=”integer”

設定只能輸入整數,如果是小數則是:decimal

android:singleLine=”true”

設定單行輸入,一旦設定為true,則文字不會自動換行。

android:password=”true”

設定只能輸入密碼

android:textColor = “#ff8c00″

字型顏色

android:textStyle=”bold”

字型,bold, italic, bolditalic

android:textSize=”20dip”

大小

android:capitalize = “characters”

以大寫字母寫

android:textAlign=”center”

EditText沒有這個屬性,但TextView有

android:textColorHighlight=”#cccccc”

被選中文字的底色,預設為藍色

android:textColorHint=”#ffff00″

設定提示資訊文字的顏色,預設為灰色

android:textScaleX=”1.5″

控制字與字之間的間距

android:typeface=”monospace”

字型,normal, sans, serif, monospace

android:background=”@null”

空間背景,這裡沒有,指透明

android:layout_weight=”1″

權重,控制控制元件之間的地位,在控制控制元件顯示的大小時蠻有用的。

android:textAppearance=”?android:attr/textAppearanceLargeInverse”

文字外觀,這裡引用的是系統自帶的一個外觀,?表示系統是否有這種外觀,否則使用預設的外觀。不知道這樣理解對不對?

 

通過EditText的layout xml檔案中的相關屬性來實現:

1. 密碼框屬性 android:password=”true” 這條可以讓EditText顯示的內容自動為星號,輸入時內容會在1秒內變成*字樣。

2. 純數字 android:numeric=”true” 這條可以讓輸入法自動變為數字輸入鍵盤,同時僅允許0-9的數字輸入

3. 僅允許 android:capitalize=”cwj1987″ 這樣僅允許接受輸入cwj1987,一般用於密碼驗證

下面是一些擴充套件的風格屬性

android:editable=”false” 設定EditText不可編輯

android:singleLine=”true” 強制輸入的內容在單行

android:ellipsize=”end” 自動隱藏尾部溢位資料,一般用於文字內容過長一行無法全部顯示時

RelativeLayout佈局

android:layout_marginTop=”25dip” //頂部距離

android:gravity=”left” //空間佈局位置

android:layout_marginLeft=”15dip //距離左邊距

// 相對於給定ID控制元件

android:layout_above 將該控制元件的底部置於給定ID的控制元件之上;

android:layout_below 將該控制元件的底部置於給定ID的控制元件之下;

android:layout_toLeftOf 將該控制元件的右邊緣與給定ID的控制元件左邊緣對齊;

android:layout_toRightOf 將該控制元件的左邊緣與給定ID的控制元件右邊緣對齊;

android:layout_alignBaseline 將該控制元件的baseline與給定ID的baseline對齊;

android:layout_alignTop 將該控制元件的頂部邊緣與給定ID的頂部邊緣對齊;

android:layout_alignBottom 將該控制元件的底部邊緣與給定ID的底部邊緣對齊;

android:layout_alignLeft 將該控制元件的左邊緣與給定ID的左邊緣對齊;

android:layout_alignRight 將該控制元件的右邊緣與給定ID的右邊緣對齊;

 

// 相對於父元件

android:layout_alignParentTop 如果為true,將該控制元件的頂部與其父控制元件的頂部對齊;

android:layout_alignParentBottom 如果為true,將該控制元件的底部與其父控制元件的底部對齊;

android:layout_alignParentLeft 如果為true,將該控制元件的左部與其父控制元件的左部對齊;

android:layout_alignParentRight 如果為true,將該控制元件的右部與其父控制元件的右部對齊;

 

// 居中

android:layout_centerHorizontal 如果為true,將該控制元件的置於水平居中;

android:layout_centerVertical 如果為true,將該控制元件的置於垂直居中;

android:layout_centerInParent 如果為true,將該控制元件的置於父控制元件的中央;

 

// 指定移動畫素

android:layout_marginTop 上偏移的值;

android:layout_marginBottom 下偏移的值;

android:layout_marginLeft 左偏移的值;

android:layout_marginRight   右偏移的值;

 

android:id — 為控制元件指定相應的ID

android:text — 指定控制元件當中顯示的文字,需要注意的是,這裡儘量使用strings.xml檔案當中的字串

android:grivity — 指定控制元件的基本位置,比如說居中,居右等位置這裡指的是控制元件中的文字位置並不是控制元件本身。

android:textSize — 指定控制元件當中字型的大小

android:background — 指定該控制元件所使用的背景色,RGB命名法

android:width — 指定控制元件的寬度

android:height — 指定控制元件的高度

android:padding* — 指定控制元件的內邊距,也就是說控制元件當中的內容

android:sigleLine — 如果設定為真的話,則控制元件的內容在同一行中進行顯示

 

下邊是相對佈局屬性的說明:RelativeLayout

 

android:layout_above 將該控制元件的底部至於給定ID控制元件之上

android:layout_below 將該控制元件的頂部至於給定ID的控制元件之下

android:layout_toLeftOf 將該控制元件的右邊緣和給定ID的控制元件左邊緣對齊

android:layout_toRightOf 將該控制元件的左邊緣和給定ID的控制元件的右邊緣對齊

 

android:layout_alignBaseline 該控制元件的baseline和給定ID的控制元件的baseline對齊

android:layout_alignBottom 將該控制元件的底部邊緣與給定ID控制元件的底部邊緣對齊

android:layout_alignLeft 將該控制元件的左邊緣與給定ID控制元件的左邊緣對齊

android:layout_alignRight 將該控制元件的右邊緣與給定ID控制元件的右邊緣對齊

android:layout_alignTop 將該控制元件的頂部邊緣與給定ID控制元件的頂部對齊

 

android:alignParentBottom 如果該值為true,則將該控制元件的底部和父控制元件的底部對齊

android:layout_alignParentLeft 如果該值為true,則將該控制元件左邊與父控制元件的左邊對齊

android:layout_alignParentRight 如果該值為true,則將該控制元件的右邊與父控制元件的右邊對齊

android:layout_alignParentTop 如果該值為true,則將該控制元件的頂部與父控制元件的頂部對齊

 

android:layout_centerHorizontal 如果為真,該控制元件將被至於水平方向的中央

android:layout_centerInParent 如果為真,該控制元件將被至於父控制元件水平方向和垂直方向的中央

android:layout_centerVertical 如果為真,該控制元件將被至於垂直方向的中央

android:layout_marginLeft此屬性用來設定控制元件之間的間隙(控制元件和控制元件之間和內邊距不同)

android:padding=”3dip”說明了四邊的內邊距是3dip

TableLayout

<TableLayout xmlns:android=”http://schemas.android.com/apk/res/android”

android:orientation=”vertical”

android:layout_width=”fill_parent”

android:layout_height=”fill_parent”

android:stretchColumns=”0″

></TableLayout>

 

android:stretchColumns=”0″第一列作為拉伸列填滿整行

Java中修飾符總結:

 

1、訪問控制修飾符

public的訪問級別是最高的,其次是protected、預設和private

成員變數和成員方法可以處於4個訪問級別中的一個:公開、受保護、預設或私有

頂層類可以處於公開或預設級別,頂層類不能被protected和private修飾

區域性變數不能被訪問控制修飾符修飾

2、abstract修飾符

抽象類不能被例項化

抽象類中可以沒有抽象方法,但包含了抽象方法的類必須被定義為抽象方法

如果子類沒有實現父類中所有的抽象方法,子類也必須定義為抽象類

抽象類不能被定義為private、final、和static型別

沒有抽象的構造方法

抽象方法沒有方法體

3、final修飾符

用final修飾的類不能被繼承

用final修飾的方法不能被子類的方法覆蓋

private型別的方法都預設為是final方法,因而不能被子類的方法覆蓋

final變數必須被顯式初始化,並且只能被賦值一次值

4、static修飾符

靜態變數在記憶體中只有一個拷貝,在類的所有例項中共享

在靜態方法中不能直接訪問例項方法和例項變數

在靜態方法中不能使用this和super關鍵字

靜態方法不能被abstract修飾

靜態方法和靜態變數都可以通過類名直接訪問

當類被載入時,靜態程式碼塊只能被執行一次。類中不同的靜態方法程式碼塊按他們在類中出現的順序被依次執行

當多個修飾符連用時,修飾符的順序可以顛倒,不過作為普遍遵守的程式設計規範,通常把訪問控制修飾符放在首位,其次是static或abstact修飾符,接著就是其他的修飾符

5、以下修飾符連用是無意義的,會導致編譯錯誤:

abstract與private

abstract與final

abstract與static

相關文章