Android layout xml總結

Android包下面android.R.styleable 類包含下面所有組件相關的XML屬性。

如:

public static final int[] LinearLayout_Layout

http://www.blogjava.net/zhip/archive/2011/01/25/343511.html

共有屬性:
java代碼中通過btn1關聯次控件
android:id="@+id/btn1"

控件寬度
android:layout_width="80px"    //"80dip"或"80dp"
android:layout_width =“wrap_content”
android:layout_width =“match_parent” 

控件高度
android:layout_height="80px"    //"80dip"或"80dp"
android:layout_height =“wrap_content”
android:layout_height =“match_parent”

控件排布
android:orientation="horizontal”
android:orientation="vertical“

控件間距
android:layout_marginLeft="5dip"      //距離左邊
android:layout_marginRight="5dip"      //距離右邊
android:layout_marginTop="5dip"      //距離上面
android:layout_marginRight="5dip"      //距離下面

控件顯示位置
android:gravity="center"    //left,right, top, bottom
android:gravity="center_horizontal"

android:layout_gravity是本元素對父元素的重力方向。
android:layout_gravity屬性則設置控件本身相對於父控件的顯示位置
android:gravity是本元素所有子元素的重力方向。

android:layout_gravity="center_vertical"
android:layout_gravity="left"
android:layout_gravity="left|bottom"


TextView 的屬性

android:text="@String/text1"    //在string.xml中定義text1的值
android:textSize="20sp"
android:textColor=”#ff123456”
android:textStyle="bold"    //普通(normal), 斜體(italic),粗斜體(bold_italic)以組合設定。例如:bold | italic

提示文本相關的屬性

android:hint 當文本內容爲空時,提示信息 
 android:textColorHight : 文字被選擇的時候,高亮的顏色

輸入內容的控制

android:number 只能輸入數字。值域【integer, decimal , signed】,可以組合設定。例如:integer | signed

 

定義控件是否可見
android:visibility=”visible”     //可見
android:visibility=”invisible”  //不可見,但是在佈局中佔用的位置還在
android:visibility=”gone”   //不可見,完全從佈局中消失

定義背景圖片
android:background="@drawable/img_bg"    //img_bg爲drawable下的一張圖片

seekbar控件背景圖片及最大值
android:progressDrawable="@drawable/seekbar_img"  
android:thumb="@drawable/thumb"            
android:max = "60"

 

僅在RelativeLayout中有效:
在父親佈局的相對位置
android:layout_alignParentLeft="true"     //在佈局左邊
android:layout_alignParentRight="true"    //在佈局右邊
android:layout_alignParentTop="true"     //在佈局上面
android:layout_alignParentBottom="true "  //在佈局的下面

在某個控件的相對位置
android:layout_toRightOf="@id/button1"  //在控件button1的右邊,不僅僅是緊靠着
android:layout_toLeftOf="@id/button1"   //在控件button2的左邊,不僅僅是緊靠着
android:layout_below="@id/button1 "     //在控件button1下面,不僅僅是正下方
android:layout_above=“@id/button1”   //在控件button1下面,不僅僅是正下方

定義和某控件對奇
android:layout_alignTop=”@id/button1”  //和控件button1上對齊
android:layout_alignBottom=”@id/button1”  //和控件button1下對齊
android:layout_alignLeft=”@id/button1”  //和控件button1左對齊
android:layout_alignRight=”@id/button1”  //和控件button2右對齊


android:layout_centerHorizontal="true"        //水平居中
android:layout_centerVertical="true"
android:layout_centerInParent="true"

僅在LinearLayout中有效
設置控件在一排或一列中所佔比例值
android:layout_weight="1"

 

View的XML屬性:

已知直接子類:

AnalogClock, ImageView, KeyboardView, ProgressBar, SurfaceView, TextView , ViewGroup, ViewStub

已知間接子類:

AbsListView, AbsSeekBar, AbsSpinner, AbsoluteLayout, AdapterView<T extends Adapter>, AppWidgetHostView, AutoCompleteTextView, Button, CheckBox, CheckedTextView, Chronometer, CompoundButton, DatePicker, DialerFilter, DigitalClock, EditText , ExpandableListView, ExtractEditText, FrameLayout, GLSurfaceView, Gallery, GestureOverlayView, GridView, HorizontalScrollView, ImageButton, ImageSwitcher, LinearLayout, ListView, MediaController, MultiAutoCompleteTextView, QuickContactBadge, RadioButton, RadioGroup, RatingBar, RelativeLayout, ScrollView, SeekBar, SlidingDrawer, Spinner, TabHost, TabWidget, TableLayout, TableRow, TextSwitcher, TimePicker, ToggleButton, TwoLineListItem, VideoView, ViewAnimator, ViewFlipper, ViewSwitcher, WebView, ZoomButton, ZoomControls

XML屬性

屬性名稱 描述
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(默認值,顯示),invisible(不顯示,但是仍然佔用空間),gone(不顯示,不佔用空間)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章