android:佈局引數,控制元件屬性及各種xml的作用
【原文:http://blog.csdn.net/hyz4287010/article/details/6880647】
以下大部為用在RelativeLayout中的一些引數:
android:layout_above 將該控制元件的底部至於給定ID的控制元件之上,但不會左對齊,預設置於父視窗最左邊,會覆蓋最左邊的控制元件
android:layout_below 將該控制元件的頂部至於給定ID的控制元件之下,但不會左對齊,預設置於父視窗最左邊,會覆蓋最左邊的控制元件
android:layout_toLeftOf 將該控制元件的右邊緣和給定ID的控制元件的左邊緣對齊,預設置於父視窗最上面,會覆蓋最上面的控制元件
android:layout_toRightOf 將該控制元件的左邊緣和給定ID的控制元件的右邊緣對齊,預設置於父視窗最上面,會覆蓋最上面的控制元件
android:alignParentBottom 如果該值為true,則將該控制元件的底部和父控制元件的底部對齊,預設置於父視窗最左下,會覆蓋最左下的控制元件
android:layout_alignParentLeft 如果該值為true,則將該控制元件的左邊與父控制元件的左邊對齊,預設置於父視窗最左上,會覆蓋最左上的控制元件
android:layout_alignParentRight 如果該值為true,則將該控制元件的右邊與父控制元件的右邊對齊,預設置於父視窗最右上,會覆蓋最右上的控制元件
android:layout_alignParentTop 如果該值為true,則將控制元件的頂部與父控制元件的頂部對齊,預設置於父視窗最左上,會覆蓋最左上的控制元件
android:id —— 為控制元件指定相應的ID
android:text —— 指定控制元件當中顯示的文字,需要注意的是,這裡儘量使用strings.xml檔案當中的字串
android:textSize —— 指定控制元件當中字型的大小
android:background —— 指定該控制元件所使用的背景色,RGB命名法
android:sigleLine —— 如果設定為真的話,則將控制元件的內容在同一行當中進行顯示
android:gravity —— 指定控制元件的基本位置,比如說居中,居右等位置
android:layout_width="fill_parent" —— 剩餘空間有多大就填充多大,如要再加別的控制元件,則空間沒了,不會顯示出來,每個控制元件都不能少這個
android:layout_height ="wrap_content"—— 內容多大就多大,如果不停寫內容,會不斷變大,最終導致別的控制元件不能顯示,每個控制元件都不能少這個
上面2個也可設固定值,如android:layout_width="200px"
android:width —— 指定控制元件的寬度
android:height —— 指定控制元件的高度
當layout_width或layout_height的值為:1、固定值 2、fill_parent 時;width 和 height 的值無論設什麼都不起作用。此時控制元件大小以layout_width和layout_height為準。
當layout_width或layout_height的值為:1、wrap_content 時;此時控制元件大小以width和height為準。
android:padding* —— 指定控制元件的內邊距,也就是說控制元件當中的內容,下圖指EditText和主視窗的間距為50px
android:layout_alignBaseline該控制元件的baseline和給定ID的控制元件的baseline對齊,並置於父視窗最左邊,會覆蓋最左邊的控制元件
android:layout_alignBottom 將該控制元件的底部邊緣與給定ID控制元件的底部邊緣對齊,並置於父視窗最左邊,會覆蓋最左邊的控制元件
android:layout_alignLeft 將該控制元件的左邊緣與給定ID控制元件的左邊緣對齊,並置於父視窗最上邊,會覆蓋最上邊的控制元件
android:layout_alignRight 將該控制元件的右邊緣與給定ID控制元件的右邊緣對齊,並置於父視窗最上邊,會覆蓋最上邊的控制元件
android:layout_alignTop 將給定控制元件的頂部邊緣與給定ID控制元件的頂部對齊,並置於父視窗最左邊,會覆蓋最左邊的控制元件
android:layout_centerHorizontal如果值為真,該控制元件將被至於水平方向的中央
android:layout_centerInParent 如果值為真,該控制元件將被至於父控制元件水平方向和垂直方向的中央
android:layout_centerVertical 如果值為真,該控制元件將被至於垂直方向的中央
android:layout_weight=""權重,如下,垂直線性佈局中兩個水平線性佈局,權重分別為1、3,每個水平線性佈局裡面的值代表該textview在該水平佈局裡的權重。
但權重所顯示的寬度不一定是固定值,當textview裡的內容大於權重所佔寬度時,還是會變化的。
Android控制字型大小和字型顏色:
android:textAppearance="?android:attr/textAppearanceLarge"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textAppearance="?android:attr/textAppearanceSmall"
或
style="?android:attr/textAppearanceLarge"
style="?android:attr/textAppearanceMedium"
style="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorPrimary"
android:textColor="?android:attr/textColorSecondary"
android:textColor="?android:attr/textColorTertiary"
android:textColor="?android:attr/textColorPrimaryInverse"
android:textColor="?android:attr/textColorSecondaryInverse"
ProgressBar
style="?android:attr/progressBarStyleHorizontal"
style="?android:attr/progressBarStyleLarge"
style="?android:attr/progressBarStyleSmall"
style="?android:attr/progressBarStyleSmallTitle"
其它一些引數:
android:excludeFromRecents="true"為true表示長按home鍵將顯示此應用
android:screenOrientation="portrait" 永遠豎屏顯示
android:screenOrientation="portrait" 永遠橫屏顯示
android:configChanges="keyboardHidden|orientation"豎屏切換橫屏時應用也能彈出介面
分隔符
橫向:
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="?android:attr/listDivider" />
縱向:
<View android:layout_width="1dip"
android:layout_height="fill_parent"
android:background="?android:attr/listDivider" />
CheckBox
style="?android:attr/starStyle"
//類似標題欄效果的TextView
style="?android:attr/listSeparatorTextViewStyle"
//其它有用的樣式
android:layout_height="?android:attr/listPreferredItemHeight"
android:paddingRight="?android:attr/scrollbarSize"
style="?android:attr/windowTitleBackgroundStyle"
style="?android:attr/windowTitleStyle"
android:layout_height="?android:attr/windowTitleSize"
android:background="?android:attr/windowBackground"
在drawable-mdpi資料夾下定義button_selector.xml
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 指定按鈕按下時的圖片 -->
<item android:state_pressed="true"
android:drawable="@drawable/start_down"
/>
<!-- 指定按鈕鬆開時的圖片 -->
<item android:state_pressed="false"
android:drawable="@drawable/start"
/>
</selector>
在Layout中的main.xml
<Button
android:id="@+id/startButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_selector" />
EditText 和 TextView 引數
android:inputType | 指定輸入法的型別,int型別,可以用|選擇多個。取值可以參考:android.text.InputType類。取值包括:text, textUri, phone,number,等。 |
android:imeOptions | 指定輸入法視窗中的Enter鍵的功能,可選值為normal, actionNext,actionDone,actionSearch等。部分輸入法對此的支援可能不夠好。 |
android:imeOptions="actionNext"
android:nextFocusDown="@+id/minute"
上兩條加一起才能跳轉到minute。
android 滾動條 相關屬性
屬性名稱 |
描述 |
android:background |
設定背景色/背景圖片。可以通過以下兩種方法設定背景為透明:”@android:color/transparent”和”@null”。注意TextView預設是透明的,不用寫此屬性,但是Buttom/ImageButton/ImageView想透明的話就得寫這個屬性了。 |
android:clickable |
是否響應點選事件。 |
android:contentDescription |
設定View的備註說明,作為一種輔助功能提供,為一些沒有文字描述的View提供說明,如ImageButton。這裡在介面上不會有效果,自己在程式中控制,可臨時放一點字串資料。 |
android:drawingCacheQuality |
設定繪圖時半透明質量。有以下值可設定:auto(預設,由框架決定)/high(高質量,使用較高的顏色深度,消耗更多的記憶體)/low(低質量,使用較低的顏色深度,但是用更少的記憶體)。 |
android:duplicateParentState |
如果設定此屬性,將直接從父容器中獲取繪圖狀態(游標,按下等)。 見下面程式碼部分,注意根據目前測試情況僅僅是獲取繪圖狀態,而沒有獲取事件,也就是你點一下LinearLayout時Button有被點選的效果,但是不執行點選事件。 |
android:fadingEdge |
設定拉滾動條時 ,邊框漸變的放向。none(邊框顏色不變),horizontal(水平方向顏色變淡),vertical(垂直方向顏色變淡)。參照fadingEdgeLength的效果圖 |
android:fadingEdgeLength |
設定 邊框漸變的長度。 |
android:fitsSystemWindows |
設定佈局調整時是否考慮系統視窗(如狀態列) |
android:focusable |
設定是否獲得焦點。若有requestFocus()被呼叫時,後者優先處理。注意在表單中想設定某一個如EditText獲取焦點,光設定這個是不行的,需要將這個EditText前面的focusable都設定為false才行。在Touch模式下獲取焦點需要設定focusableInTouchMode為true。 |
android:focusableInTouchMode |
設定在Touch模式下View是否能取得焦點。 |
android:hapticFeedbackEnabled |
設定長按時是否接受其他觸控反饋事件。這裡模擬器沒有試出效果,難道是多點觸控?找不到資料可以找找performHapticFeedback或HapticFeedback這個關鍵字的資料看看。 |
android:id |
給當前View設定一個在當前layout.xml中的唯一編號,可以通過呼叫View.findViewById() 或Activity.findViewById()根據這個編號查詢到對應的View。不同的layout.xml之間定義相同的id不會衝突。格式如”@+id/btnName” |
android:isScrollContainer |
設定當前View為滾動容器。這裡沒有測試出效果來,ListView/ GridView/ ScrollView根本就不用設定這個屬性,而EdidText設定android:scrollbars也能出滾動條。 |
android:keepScreenOn |
View在可見的情況下是否保持喚醒狀態。
常在LinearLayout使用該屬性,但是模擬器這裡沒有效果。 |
android:longClickable |
設定是否響應長按事件. |
android:minHeight |
設定檢視最小高度 |
android:minWidth |
設定檢視最小寬度度 |
android:nextFocusDown |
設定下方指定檢視獲得下一個焦點。焦點移動是基於一個在給定方向查詢最近鄰居的演算法。如果指定檢視不存在,移動焦點時將報執行時錯誤。可以設定imeOptions= actionDone,這樣輸入完即跳到下一個焦點。 |
android:nextFocusLeft |
設定左邊指定檢視獲得下一個焦點。 |
android:nextFocusRight |
設定右邊指定檢視獲得下一個焦點。 |
android:nextFocusUp |
設定上方指定檢視獲得下一個焦點。 |
android:onClick |
點選時從上下文中呼叫指定的方法。這裡指定一個方法名稱,一般在Activity定義符合如下引數和返回值的函式並將方法名字串指定為該值即可:
public void onClickButton(View view) android:onClick=” onClickButton” |
android:padding |
設定上下左右的邊距,以畫素為單位填充空白。 |
android:paddingBottom |
設定底部的邊距,以畫素為單位填充空白。 |
android:paddingLeft |
設定左邊的邊距,以畫素為單位填充空白。 |
android:paddingRight |
設定右邊的邊距,以畫素為單位填充空白。. |
android:paddingTop |
設定上方的邊距,以畫素為單位填充空白。 |
android:saveEnabled |
設定是否在視窗凍結時(如旋轉螢幕)儲存View的資料,預設為true,但是前提是你需要設定id才能自動儲存,參見這裡。 |
android:scrollX |
以畫素為單位設定水平方向滾動的的偏移值,在GridView中可看的這個效果。 |
android:scrollY |
以畫素為單位設定垂直方向滾動的的偏移值 |
android:scrollbarAlwaysDrawHorizontalTrack |
設定是否始終顯示水平滾動條。這裡用ScrollView、ListView測試均沒有效果。 |
android:scrollbarAlwaysDrawVerticalTrack |
設定是否始終顯示垂直滾動條。這裡用ScrollView、ListView測試均沒有效果。 |
android:scrollbarDefaultDelayBeforeFade |
設定N毫秒後開始淡化,以毫秒為單位。 |
android:scrollbarFadeDuration |
設定滾動條淡出效果(從有到慢慢的變淡直至消失)時間,以毫秒為單位。Android2.2中滾動條滾動完之後會消失,再滾動又會出來,在1.5、1.6版本里面會一直顯示著。 |
android:scrollbarSize |
設定滾動條的寬度。 |
android:scrollbarStyle |
設定滾動條的風格和位置。設定值:insideOverlay、insideInset、outsideOverlay、outsideInset。這裡沒有試出太多效果,以下依次是outsideOverlay與outsideInset效果截圖比較: |
android:scrollbarThumbHorizontal |
設定水平滾動條的drawable(如顏色)。 |
android:scrollbarThumbVertical |
設定垂直滾動條的drawable(如顏色). |
android:scrollbarTrackHorizontal |
設定水平滾動條背景(軌跡)的色drawable(如顏色) |
android:scrollbarTrackVertical |
設定垂直滾動條背景(軌跡)的drawable注意直接設定顏色值如”android:color/white”將得出很難看的效果,甚至都不理解這個屬性了,這裡可以參見ApiDemos裡res/drawable/ scrollbar_vertical_thumb.xml和scrollbar_vertical_track.xml,設定程式碼為:android:scrollbarTrackVertical ="@drawable/scrollbar_vertical_track" |
android:scrollbars |
設定滾動條顯示。none(隱藏),horizontal(水平),vertical(垂直)。見下列程式碼演示使用該屬性讓EditText內有滾動條。但是其他容器如LinearLayout設定了但是沒有效果。 |
android:soundEffectsEnabled |
設定點選或觸控時是否有聲音效果 |
android:tag |
設定一個文字標籤。可以通過View.getTag()或 for with View.findViewWithTag()檢索含有該標籤字串的View。但一般最好通過ID來查詢View,因為它的速度更快,並且允許編譯時型別檢查。 |
android:visibility |
設定是否顯示View。設定值:visible(預設值 |
屬性名稱 |
描述 |
android:background |
設定背景色/背景圖片。可以通過以下兩種方法設定背景為透明:”@android:color/transparent”和”@null”。注意TextView預設是透明的,不用寫此屬性,但是Buttom/ImageButton/ImageView想透明的話就得寫這個屬性了。 |
android:clickable |
是否響應點選事件。 |
android:contentDescription |
設定View的備註說明,作為一種輔助功能提供,為一些沒有文字描述的View提供說明,如ImageButton。這裡在介面上不會有效果,自己在程式中控制,可臨時放一點字串資料。 |
android:drawingCacheQuality |
設定繪圖時半透明質量。有以下值可設定:auto(預設,由框架決定)/high(高質量,使用較高的顏色深度,消耗更多的記憶體)/low(低質量,使用較低的顏色深度,但是用更少的記憶體)。 |
android:duplicateParentState |
如果設定此屬性,將直接從父容器中獲取繪圖狀態(游標,按下等)。 見下面程式碼部分,注意根據目前測試情況僅僅是獲取繪圖狀態,而沒有獲取事件,也就是你點一下LinearLayout時Button有被點選的效果,但是不執行點選事件。 |
android:fadingEdge |
設定拉滾動條時 ,邊框漸變的放向。none(邊框顏色不變),horizontal(水平方向顏色變淡),vertical(垂直方向顏色變淡)。參照fadingEdgeLength的效果圖 |
android:fadingEdgeLength |
設定 邊框漸變的長度。 |
android:fitsSystemWindows |
設定佈局調整時是否考慮系統視窗(如狀態列) |
android:focusable |
設定是否獲得焦點。若有requestFocus()被呼叫時,後者優先處理。注意在表單中想設定某一個如EditText獲取焦點,光設定這個是不行的,需要將這個EditText前面的focusable都設定為false才行。在Touch模式下獲取焦點需要設定focusableInTouchMode為true。 |
android:focusableInTouchMode |
設定在Touch模式下View是否能取得焦點。 |
android:hapticFeedbackEnabled |
設定長按時是否接受其他觸控反饋事件。這裡模擬器沒有試出效果,難道是多點觸控?找不到資料可以找找performHapticFeedback或HapticFeedback這個關鍵字的資料看看。 |
android:id |
給當前View設定一個在當前layout.xml中的唯一編號,可以通過呼叫View.findViewById() 或Activity.findViewById()根據這個編號查詢到對應的View。不同的layout.xml之間定義相同的id不會衝突。格式如”@+id/btnName” |
android:isScrollContainer |
設定當前View為滾動容器。這裡沒有測試出效果來,ListView/ GridView/ ScrollView根本就不用設定這個屬性,而EdidText設定android:scrollbars也能出滾動條。 |
android:keepScreenOn |
View在可見的情況下是否保持喚醒狀態。
常在LinearLayout使用該屬性,但是模擬器這裡沒有效果。 |
android:longClickable |
設定是否響應長按事件. |
android:minHeight |
設定檢視最小高度 |
android:minWidth |
設定檢視最小寬度度 |
android:nextFocusDown |
設定下方指定檢視獲得下一個焦點。焦點移動是基於一個在給定方向查詢最近鄰居的演算法。如果指定檢視不存在,移動焦點時將報執行時錯誤。可以設定imeOptions= actionDone,這樣輸入完即跳到下一個焦點。 |
android:nextFocusLeft |
設定左邊指定檢視獲得下一個焦點。 |
android:nextFocusRight |
設定右邊指定檢視獲得下一個焦點。 |
android:nextFocusUp |
設定上方指定檢視獲得下一個焦點。 |
android:onClick |
點選時從上下文中呼叫指定的方法。這裡指定一個方法名稱,一般在Activity定義符合如下引數和返回值的函式並將方法名字串指定為該值即可:
public void onClickButton(View view) android:onClick=” onClickButton” |
android:padding |
設定上下左右的邊距,以畫素為單位填充空白。 |
android:paddingBottom |
設定底部的邊距,以畫素為單位填充空白。 |
android:paddingLeft |
設定左邊的邊距,以畫素為單位填充空白。 |
android:paddingRight |
設定右邊的邊距,以畫素為單位填充空白。. |
android:paddingTop |
設定上方的邊距,以畫素為單位填充空白。 |
android:saveEnabled |
設定是否在視窗凍結時(如旋轉螢幕)儲存View的資料,預設為true,但是前提是你需要設定id才能自動儲存,參見這裡。 |
android:scrollX |
以畫素為單位設定水平方向滾動的的偏移值,在GridView中可看的這個效果。 |
android:scrollY |
以畫素為單位設定垂直方向滾動的的偏移值 |
android:scrollbarAlwaysDrawHorizontalTrack |
設定是否始終顯示水平滾動條。這裡用ScrollView、ListView測試均沒有效果。 |
android:scrollbarAlwaysDrawVerticalTrack |
設定是否始終顯示垂直滾動條。這裡用ScrollView、ListView測試均沒有效果。 |
android:scrollbarDefaultDelayBeforeFade |
設定N毫秒後開始淡化,以毫秒為單位。 |
android:scrollbarFadeDuration |
設定滾動條淡出效果(從有到慢慢的變淡直至消失)時間,以毫秒為單位。Android2.2中滾動條滾動完之後會消失,再滾動又會出來,在1.5、1.6版本里面會一直顯示著。 |
android:scrollbarSize |
設定滾動條的寬度。 |
android:scrollbarStyle |
設定滾動條的風格和位置。設定值:insideOverlay、insideInset、outsideOverlay、outsideInset。這裡沒有試出太多效果,以下依次是outsideOverlay與outsideInset效果截圖比較: |
android:scrollbarThumbHorizontal |
設定水平滾動條的drawable(如顏色)。 |
android:scrollbarThumbVertical |
設定垂直滾動條的drawable(如顏色). |
android:scrollbarTrackHorizontal |
設定水平滾動條背景(軌跡)的色drawable(如顏色) |
android:scrollbarTrackVertical |
設定垂直滾動條背景(軌跡)的drawable注意直接設定顏色值如”android:color/white”將得出很難看的效果,甚至都不理解這個屬性了,這裡可以參見ApiDemos裡res/drawable/ scrollbar_vertical_thumb.xml和scrollbar_vertical_track.xml,設定程式碼為:android:scrollbarTrackVertical ="@drawable/scrollbar_vertical_track" |
android:scrollbars |
設定滾動條顯示。none(隱藏),horizontal(水平),vertical(垂直)。見下列程式碼演示使用該屬性讓EditText內有滾動條。但是其他容器如LinearLayout設定了但是沒有效果。 |
android:soundEffectsEnabled |
設定點選或觸控時是否有聲音效果 |
android:tag |
設定一個文字標籤。可以通過View.getTag()或 for with View.findViewWithTag()檢索含有該標籤字串的View。但一般最好通過ID來查詢View,因為它的速度更快,並且允許編譯時型別檢查。 |
android:visibility |
設定是否顯示View。設定值:visible(預設值 |
相關文章
- Android控制元件佈局屬性全解Android控制元件
- Android之佈局屬性Android
- android佈局屬性大全Android
- Android中常見的佈局和佈局引數Android
- Android 佈局屬性詳解Android
- Flex佈局教程及屬性速查Flex
- 淺談Flex佈局的屬性及使用Flex
- Android xml 佈局AndroidXML
- 【轉】android佈局屬性詳解Android
- flex佈局屬性Flex
- CSS佈局-各種居中CSS
- Android XML 屬性AndroidXML
- css各種佈局總結CSS
- 關於Android中xml佈局檔案之android 入門xml佈局檔案AndroidXML
- CSS Flex佈局屬性整理CSSFlex
- CSS中各種佈局的背後(*FC)CSS
- CSS display屬性的表格佈局相關屬性的解釋CSS
- Android UI控制元件系列:LinearLayout(線性佈局)AndroidUI控制元件
- flex佈局屬性快速參考Flex
- android 入門xml佈局檔案AndroidXML
- Android控制元件的fitSystemWindows屬性Android控制元件Windows
- Ext 佈局的一些配置屬性
- android:四種基本佈局Android
- ANDROID 控制元件常用屬性Android控制元件
- 將xml佈局轉換成View的幾種方式XMLView
- Linux下tar命令的各種引數選項和他們的作用整理Linux
- php全面獲取url位址列及各種引數PHP
- android之 控制元件常用的屬性Android控制元件
- XML屬性XML
- Android開發-TextViev XML屬性(一)AndroidXML
- 非佈局樣式-裝飾性屬性&CSS hackCSS
- CSS-彈性佈局3-伸縮屬性CSS
- Android XML佈局報錯:android/view/View$OnUnhandledKeyEventListenerAndroidXMLView
- CSS Flex 佈局的 flex-direction 屬性講解CSSFlex
- 簡單聊一聊Flex佈局常用的屬性Flex
- Android UI控制元件系列:TableLayout(表格佈局)AndroidUI控制元件
- flex佈局(彈性佈局)Flex
- android基礎學習-android篇day15-相對佈局的常用屬性Android