Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android View 詳解

android View 詳解

編輯:關於Android編程

android.View.View(即View)類是以矩形的方式顯示在屏幕上,View是用戶界面控件的基礎。View的繼承層次關系如下圖:


可以看到所有的界面控件都是View的子類。簡單證實一下,每當你用findViewByIds(R.id.xx)時總要將其強轉,因為該方法返回的是一個View實例,有木有!!!其中不得不提View的subClass ViewGroup。Android系統中的所有UI類都是建立在View和ViewGroup這兩個類的基礎上的。所有View的子類成為”Widget”,所有ViewGroup的子類成為”Layout”。View和ViewGroup之間采用了組合設計模式,可以使得“部分-整體”同等對待。ViewGroup作為布局容器類的最上層,布局容器裡面又可以有View和ViewGroup。通過這種方式,我們獲得了UI界面的組合方式。

ViewGroup的子類用不同的方式來管理容器中View控件的擺放位置以及顯示方式;但是,對於view控件具體擺放到什麼位置,以及大小等屬性則需要每個布局類的內部類LayoutParams來進行處理,該類是ViewGroup的內部類,有該類的子類具體實現LayoutParams類。

可以看到android中所有的UI控件都是View的子類,所以你可以通過繼承View類來實現自定義控件,例如之前博客中提到的圓形進度條就是一個例子。注意。此時你需要重載View的構造函數。View的構造函數有三個,但常用的是第一個和第二個,比較簡單,有需要的可以查下文檔。

一.而動態創建View和ViewGroup一般有以下2種方式可以實現。

1.每創建一個UI控件就添加到布局中,但是這種方式有個缺點,當你要動態添加的按鈕過多時,就會顯得過於麻煩。

ViewParent viewParent = this.findViewById(R.id.text1).getParent();

RelativeLayout relativeLayout = (RelativeLayout) viewParent;

Button button = new Button(this);

button.setText("Fuck");

relativeLayout.addView(button,300,200);button,100,100);

2.從一個XML文件中創建控件,再添加到布局中。

LayoutInflater layoutInflater = this.getLayoutInflater();

layoutInflater.inflate(R.layout.mybviewlayout, (ViewGroup)this.findViewById(R.layout.activity_main));

在第二句代碼中關聯了一個布局文件mybviewlayout.xml,在這裡使用inflate方法將這個布局文件裝載到內存中後被轉化為View對象,,然後將這個View對象添加到activity_main.xml布局文件中。

二.常用布局

1.LinearLayout

相信大家對LinearLayout一定不會陌生吧,這裡有一點需要注意:Linearlayout 不允許精准的控制它子view的關系,子view只能簡單的一個接一個排成行。更好的方法是使用relativelayout.

2.RelativeLayout

該布局下我們可以非常靈活的來控制UI控件的擺放位置,在現實生活中我們最常用的應該是就是RelativeLayout與LinearLayout的結合使用了吧。這裡就需要注意一下view的各種layout_XXX,margin_XX,等屬性的使用了,他會幫你定制非常靈活的布局文件。我會在文章末尾附上。

3.TableLayout

TableLayout是用表格來進行UI界面的布局,個人感覺不太常用,使用的標簽是,而且TableLayout的屬性是垂直排列,若想水平排列則應該使用TableRow。其他就不過多介紹了。

4.FrameLayout和AbsoluteLayout

FrameLayout和AbsoluteLayout分別是框架布局和絕對布局。frameLayout中UI控件默認顯示在屏幕左上角,我記得Web浏覽器中也是這樣的,可用於圖片擴散展示之類的。而AbsoluteLayout的用途相比看看名稱就知道了,就我個人而言,目前並未使用到。

最後,就附上一些常用屬性的說明吧,希望對大家有用。

android:alpha 關聯方法: setAlpha(float) 屬性說明: 視圖透明度,值在0-1之間。0為完全透明,1為完全不透明。

android:background 關聯方法: setBackgroundResource(int) 屬性說明: 視圖背景

android:clickable 關聯方法: setClickable(boolean) 屬性說明: 視圖是否可點擊

android:contentDescription 關聯方法: setContentDescription(CharSequence) 屬性說明: 設置View的備注說明,作為一種輔助功能提供,為一些沒有文字描述的View提供說明

android:drawingCacheQuality 關聯方法: setDrawingCacheQuality(int) 屬性說明: "設置繪圖時半透明質量。有可以取以下3個值 auto——默認,由框架決定 high——高質量,使用較高的顏色深度,消耗更多的內存 low——低質量,使用較低的顏色深度,但是用更少的內存"

android:duplicateParentState 關聯方法: 屬性說明: 如果設置此屬性,將直接從父容器中獲取繪圖狀態(光標,按下等)

android:fadeScrollbars 關聯方法: setScrollbarFadingEnabled(boolean) 屬性說明: 定義在ScrollBar沒有使用時,是否褪色。

android:fadingEdgeLength 關聯方法: getVerticalFadingEdgeLength() 屬性說明: 設置邊框漸變的長度。

android:filterTouchesWhenObscured 關聯方法: setFilterTouchesWhenObscured(boolean) 屬性說明: view所在窗口被其它可見窗口遮住時,是否過濾觸摸事件。

android:fitsSystemWindows 關聯方法: setFitsSystemWindows(boolean) 屬性說明: 設置布局調整時是否考慮系統窗口(如狀態欄)

android:focusable 關聯方法: setFocusable(boolean) 屬性說明: 設置是否獲得焦點。若有requestFocus()被調用時,後者優先處理。注意在表單中想設置某一個如EditText獲取焦點,光設置這個是不行的,需要將這個EditText前面的focusable都設置為false才行。在Touch模式下獲取焦點需要設置focusableInTouchMode為true。

android:focusableInTouchMode 關聯方法: setFocusableInTouchMode(boolean) 屬性說明: 設置在Touch模式下View是否能取得焦點。

android:hapticFeedbackEnabled 關聯方法: setHapticFeedbackEnabled(boolean) 屬性說明: 是否啟用觸摸反饋,啟用後就是在點擊等操作時會有震動等反饋效果

android:id 關聯方法: setId(int) 屬性說明: 給當前View設置一個在當前layout.xml中的唯一編號,可以通過調用View.findViewById() 或Activity.findViewById()根據這個編號查找到對應的View。不同的layout.xml之間定義相同的id不會沖突。

android:importantForAccessibility 關聯方法: setImportantForAccessibility(int) 屬性說明: 設置可達性的重要性

android:isScrollContainer 關聯方法: setScrollContainer(boolean) 屬性說明: 設置當前View為滾動容器。這裡沒有測試出效果來,ListView/ GridView/ ScrollView根本就不用設置這個屬性,而EdidText設置android:scrollbars也能出滾動條

android:keepScreenOn 關聯方法: setKeepScreenOn(boolean) 屬性說明: 視圖在可見的情況下是否保持喚醒狀態。

android:layerType 關聯方法: setLayerType(int,Paint) 屬性說明: "設置指定層的類型,可以取以下3個值: none——不指定 software——軟件層。 hardware——硬件層。使用硬件加速。"

android:layoutDirection 關聯方法: setLayoutDirection(int) 屬性說明: 定義布局圖紙的方向

android:longClickable 關聯方法: setLongClickable(boolean) 屬性說明: 是否響應長點擊事件

android:minHeight 關聯方法: setMinimumHeight(int) 屬性說明: 設置視圖最小高度

android:minWidth 關聯方法: setMinimumWidth(int) 屬性說明: 設置視圖最小寬度

android:nextFocusDown 關聯方法: setNextFocusDownId(int) 屬性說明: 向下移動焦點時,下一個獲取焦點的view的id

android:nextFocusForward 關聯方法: setNextFocusForwardId(int) 屬性說明: 下一個獲取焦點的view的id

android:nextFocusLeft 關聯方法: setNextFocusLeftId(int) 屬性說明: 向左移動焦點時,下一個獲取焦點的view的id

android:nextFocusRight 關聯方法: setNextFocusRightId(int) 屬性說明: 向右移動焦點時,下一個獲取焦點的view的id

android:nextFocusUp 關聯方法: setNextFocusUpId(int) 屬性說明: 向上移動焦點時,下一個獲取焦點的view的id

android:onClick 關聯方法: 屬性說明: 點擊時,要調用的方法的名稱。

android:padding 關聯方法: setPaddingRelative(int,int,int,int) 屬性說明: 設置上下左右的邊距

android:paddingBottom 關聯方法: setPaddingRelative(int,int,int,int) 屬性說明: 下邊距

android:paddingEnd 關聯方法: setPaddingRelative(int,int,int,int) 屬性說明: 與android:paddingRight相同

android:paddingLeft 關聯方法: setPadding(int,int,int,int) 屬性說明: 左邊距

android:paddingRight 關聯方法: setPadding(int,int,int,int) 屬性說明: 右邊距

android:paddingStart 關聯方法: setPaddingRelative(int,int,int,int) 屬性說明: android:paddingLeft相同

android:paddingTop 關聯方法: setPaddingRelative(int,int,int,int) 屬性說明: 上邊距

android:requiresFadingEdge 關聯方法: setVerticalFadingEdgeEnabled(boolean) 屬性說明: 定義滾動時邊緣是否褪色

android:rotation 關聯方法: setRotation(float) 屬性說明: 旋轉度數

android:rotationX 關聯方法: setRotationX(float) 屬性說明: 水平旋轉度數

android:rotationY 關聯方法: setRotationY(float) 屬性說明: 豎直旋轉度數

android:saveEnabled 關聯方法: setSaveEnabled(boolean) 屬性說明: 在配置改變等情況出現時是否保存view的狀態數據。如果你的view有id,那默認系統就會幫你保存。

android:scaleX 關聯方法: setScaleX(float) 屬性說明: 水平方向縮放比例

android:scaleY 關聯方法: setScaleY(float) 屬性說明: 豎直方向縮放比例

android:scrollX 關聯方法: 屬性說明: x方向的滾動偏移。即在水平方向滾動了多少距離

android:scrollY 關聯方法: 屬性說明: y方向的滾動偏移。即在豎直方向滾動了多少距離

android:scrollbarAlwaysDrawHorizontalTrack 關聯方法: 屬性說明: 是否總是繪制水平滾動條的滾動軌道

android:scrollbarAlwaysDrawVerticalTrack 關聯方法: 屬性說明: 是否總是繪制豎直滾動條的滾動軌道

android:scrollbarDefaultDelayBeforeFade 關聯方法: setScrollBarDefaultDelayBeforeFade(int) 屬性說明: 滾動條在n毫秒後開始淡出。

android:scrollbarFadeDuration 關聯方法: setScrollBarFadeDuration(int) 屬性說明: 滾動條用多長時間淡出完畢。

android:scrollbarSize 關聯方法: setScrollBarSize(int) 屬性說明: 設置滾動條的尺寸。垂直滾動條的寬度、水平滾動條的高度

android:scrollbarStyle 關聯方法: setScrollBarStyle(int) 屬性說明: "滾動條的風格。共4組值: insideOverlay——內貼圖 insideInset——內插圖 outsideOverlay——外貼圖 outsideInset——外插圖。 inside就是滾動條在繪制在padding以內;outside就是不需要繪制在padding內(即view的邊界處);Overlay是貼圖,就是直接覆蓋在內容的上方,這樣內容可能會顯示到滾動條下方去;Inset是插圖,就是會在對應padding上加上滾動條的寬度,以不讓內容顯示到滾動條下面去。"

android:scrollbarThumbHorizontal 關聯方法: 屬性說明: 水平滾動塊的drawable對象

android:scrollbarThumbVertical 關聯方法: 屬性說明: 豎直滾動塊的drawable對象

android:scrollbarTrackHorizontal 關聯方法: 屬性說明: 水平滾動條滾動軌道的drawable對象

android:scrollbarTrackVertical 關聯方法: 屬性說明: 豎直滾動條滾動軌道的drawable對象

android:scrollbars 關聯方法: 屬性說明: "設置可顯示的滾動條。有3個取值: none——不顯示滾動條 horizontal——顯示水平滾動條 vertical——顯示豎直滾動條"

android:soundEffectsEnabled 關聯方法: setSoundEffectsEnabled(boolean) 屬性說明: 點擊或觸摸該view時,是否需要有聲音效果

android:tag 關聯方法: 屬性說明: string標識。類似id,id是整數標識。

android:textAlignment 關聯方法: setTextAlignment(int) 屬性說明: 設置文本的顯示方式。

android:textDirection 關聯方法: setTextDirection(int) 屬性說明: 設置文本的顯示方向。

android:transformPivotX 關聯方法: setPivotX(float) 屬性說明: 水平方向偏轉量

android:transformPivotY 關聯方法: setPivotY(float) 屬性說明: 豎直方向偏轉量

android:translationX 關聯方法: setTranslationX(float) 屬性說明: 水平方向的移動距離

android:translationY 關聯方法: setTranslationY(float) 屬性說明: 豎直方向的移動距離

android:visibility 關聯方法: setVisibility(int) 屬性說明: "view的可見性。有3個取值: gone——不可見,同時不占用view的空間; invisible——不可見,但占用view的空間; visible——可見"

TextView屬性說明

下面對TextView的屬性進行說明 android:autoLink 關聯方法: setAutoLinkMask(int) 屬性說明: 設置是否“當文本為URL鏈接/email/電話號碼/map時,文本顯示為可點擊的鏈接”。可選值(none/web/email/phone/map/all)

android:autoText 關聯方法: setKeyListener(KeyListener) 屬性說明: 如果設置,將自動執行輸入值的拼寫糾正。此處無效果,在顯示輸入法並輸入的時候起作用。

android:bufferType 關聯方法: setText(CharSequence,TextView.BufferType) 屬性說明: 指定getText()方式取得的文本類別。選項editable 類似於StringBuilder可追加字符,也就是說getText後可調用append方法設置文本內容。

android:capitalize 關聯方法: setKeyListener(KeyListener) 屬性說明: 設置自動大寫屬性。比如設置為2,自動大寫單詞首字符;設置為1,自動大寫每句話的首字母等等。

android:cursorVisible 關聯方法: setCursorVisible(boolean) 屬性說明: 設定光標為顯示/隱藏,默認顯示。

android:digits 關聯方法: setKeyListener(KeyListener) 屬性說明: 設置允許輸入哪些字符。如“1234567890.+-*/%\n()”

android:drawableBottom 關聯方法: setCompoundDrawablesWithIntrinsicBounds(int,int,int,int) 屬性說明: 在text的下方輸出一個drawable。如果指定一個顏色的話會把text的背景設為該顏色,並且同時和background使用時覆蓋後者。

android:drawableEnd 關聯方法: setCompoundDrawablesRelativeWithIntrinsicBounds(int,int,int,int) 屬性說明: 在文本結尾處顯示drawable對象。它的值可以是其它資源的引用,比如,"@[+][package:]type:name"或者"?[package:][type:]name";也可以是顏色值,如"#rgb", "#argb", "#rrggbb", or "#aarrggbb"。

android:drawableLeft 關聯方法: setCompoundDrawablesWithIntrinsicBounds(int,int,int,int) 屬性說明: 在text的左邊輸出一個drawable。

android:drawablePadding 關聯方法: setCompoundDrawablePadding(int) 屬性說明: 設置text與drawable的間隔,與drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可設置為負數,單獨使用沒有效果。

android:drawableRight 關聯方法: setCompoundDrawablesWithIntrinsicBounds(int,int,int,int) 屬性說明: 在text的右邊輸出一個drawable。

android:drawableStart 關聯方法: setCompoundDrawablesRelativeWithIntrinsicBounds(int,int,int,int) 屬性說明: 在文本開始處顯示drawable對象。它的值可以是其它資源的引用,比如,"@[+][package:]type:name"或者"?[package:][type:]name";也可以是顏色值,如"#rgb", "#argb", "#rrggbb", or "#aarrggbb"。

android:drawableTop 關聯方法: setCompoundDrawablesWithIntrinsicBounds(int,int,int,int) 屬性說明: 在text的正上方輸出一個drawable。

android:editable 關聯方法: 屬性說明: 設置是否可編輯。這裡無效果,在EditView中才有效果。

android:editorExtras 關聯方法: setInputExtras(int) 屬性說明: 設置文本的額外的輸入數據。在EditView中才有效果。

android:ellipsize 關聯方法: setEllipsize(TextUtils.TruncateAt) 屬性說明: 設置當文字過長時,該控件該如何顯示。有如下值設置:”start”—–省略號顯示在開頭;”end”——省略號顯示在結尾;”middle”—-省略號顯示在中間;”marquee” ——以跑馬燈的方式顯示(動畫橫向移動)

android:ems 關聯方法: setEms(int) 屬性說明: 設置TextView的寬度為N個字符的寬度。

android:fontFamily 關聯方法: setTypeface(Typeface) 屬性說明: 文本的字形體系。

android:freezesText 關聯方法: setFreezesText(boolean) 屬性說明: 設置保存文本的內容以及光標的位置。

android:gravity 關聯方法: setGravity(int) 屬性說明: 設置文本位置,如設置成“center”,文本將居中顯示。

android:height 關聯方法: setHeight(int) 屬性說明: 設置文本區域的高度,支持度量單位:px(像素)/dp/sp/in/mm(毫米)

android:hint 關聯方法: setHint(int) 屬性說明: Text為空時顯示的文字提示信息,可通過textColorHint設置提示信息的顏色。

android:imeActionId 關聯方法: setImeActionLabel(CharSequence,int) 屬性說明: 設置IME動作ID。

android:imeActionLabel 關聯方法: setImeActionLabel(CharSequence,int) 屬性說明: 設置IME動作標簽。在EditView再做說明。

android:imeOptions 關聯方法: setImeOptions(int) 屬性說明: 附加功能,設置右下角IME動作與編輯框相關的動作,如actionDone右下角將顯示一個“完成”,而不設置默認是一個回車符號。

android:includeFontPadding 關聯方法: setIncludeFontPadding(boolean) 屬性說明: 設置文本是否包含頂部和底部額外空白,默認為true。

android:inputMethod 關聯方法: setKeyListener(KeyListener) 屬性說明: 為文本指定輸入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin,但是這裡報錯找不到。

android:inputType 關聯方法: setRawInputType(int) 屬性說明: 設置文本的類型,用於幫助輸入法顯示合適的鍵盤類型。在EditView中再詳細說明,這裡無效果。

android:lineSpacingExtra 關聯方法: setLineSpacing(float,float) 屬性說明: 設置行間距。

android:lineSpacingMultiplier 關聯方法: setLineSpacing(float,float) 屬性說明: 設置行間距的倍數。如”1.2”

android:lines 關聯方法: setLines(int) 屬性說明: 設置文本的行數,設置兩行就顯示兩行,即使第二行沒有數據。

android:linksClickable 關聯方法: setLinksClickable(boolean) 屬性說明: 設置鏈接是否點擊連接,即使設置了autoLink。

android:marqueeRepeatLimit 關聯方法: setMarqueeRepeatLimit(int) 屬性說明: 在ellipsize指定marquee的情況下,設置重復滾動的次數,當設置為marquee_forever時表示無限次。

android:maxEms 關聯方法: setMaxEms(int) 屬性說明: 設置TextView的寬度為最長為N個字符的寬度。與ems同時使用時覆蓋ems選項。

android:maxHeight 關聯方法: setMaxHeight(int) 屬性說明: 設置文本區域的最大高度

android:maxLength 關聯方法: setFilters(InputFilter) 屬性說明: 限制顯示的文本長度,超出部分不顯示。

android:maxLines 關聯方法: setMaxLines(int) 屬性說明: 設置文本的最大顯示行數,與width或者layout_width結合使用,超出部分自動換行,超出行數將不顯示。

android:maxWidth 關聯方法: setMaxWidth(int) 屬性說明: 設置文本區域的最大寬度

android:minEms 關聯方法: setMinEms(int) 屬性說明: 設置TextView的寬度為最短為N個字符的寬度。與ems同時使用時覆蓋ems選項。

android:minHeight 關聯方法: setMinHeight(int) 屬性說明: 設置文本區域的最小高度

android:minLines 關聯方法: setMinLines(int) 屬性說明: 設置文本的最小行數,與lines類似。

android:minWidth 關聯方法: setMinWidth(int) 屬性說明: 設置文本區域的最小寬度

android:numeric 關聯方法: setKeyListener(KeyListener) 屬性說明: 如果被設置,該TextView有一個數字輸入法。此處無用,設置後唯一效果是TextView有點擊效果,此屬性在EdtiView將詳細說明。

android:password 關聯方法: setTransformationMethod(TransformationMethod) 屬性說明: 以小點”.”顯示文本

android:phoneNumber 關聯方法: setKeyListener(KeyListener) 屬性說明: 設置為電話號碼的輸入方式。

android:privateImeOptions 關聯方法: setPrivateImeOptions(String) 屬性說明: 設置輸入法選項,在EditText中才有作用。

android:scrollHorizontally 關聯方法: setHorizontallyScrolling(boolean) 屬性說明: 設置文本超出TextView的寬度的情況下,是否出現橫拉條。

android:selectAllOnFocus 關聯方法: setSelectAllOnFocus(boolean) 屬性說明: 如果文本是可選擇的,讓他獲取焦點而不是將光標移動為文本的開始位置或者末尾位置。TextView中設置後無效果。

android:shadowColor 關聯方法: setShadowLayer(float,float,float,int) 屬性說明: 指定文本陰影的顏色,需要與shadowRadius一起使用。

android:shadowDx 關聯方法: setShadowLayer(float,float,float,int) 屬性說明: 設置陰影橫向坐標開始位置。

android:shadowDy 關聯方法: setShadowLayer(float,float,float,int) 屬性說明: 設置陰影縱向坐標開始位置。

android:shadowRadius 關聯方法: setShadowLayer(float,float,float,int) 屬性說明: 設置陰影的半徑。設置為0.1就變成字體的顏色了,一般設置為3.0的效果比較好。

android:singleLine 關聯方法: setTransformationMethod(TransformationMethod) 屬性說明: 設置單行顯示。如果和layout_width一起使用,當文本不能全部顯示時,後面用“…”來表示。如android:text="test_ singleLine " android:singleLine="true" android:layout_width="20dp"將只顯示“t…”。如果不設置singleLine或者設置為false,文本將自動換行

android:text 關聯方法: setText(CharSequence,TextView.BufferType) 屬性說明: 設置顯示文本.

android:textAllCaps 關聯方法: setAllCaps(boolean) 屬性說明: 設置文本全為大寫。值為"true"或"false"。

android:textAppearance 關聯方法: 屬性說明: 設置文字外觀。如“?android:attr/textAppearanceLargeInverse

android:textColor 關聯方法: setTextColor(int) 屬性說明: 設置文本顏色

android:textColorHighlight 關聯方法: setHighlightColor(int) 屬性說明: 被選中文字的底色,默認為藍色

android:textColorHint 關聯方法: setHintTextColor(int) 屬性說明: 設置提示信息文字的顏色,默認為灰色。與hint一起使用。

android:textColorLink 關聯方法: setLinkTextColor(int) 屬性說明: 文字鏈接的顏色.

android:textIsSelectable 關聯方法: isTextSelectable() 屬性說明: 設置非編輯文本可否被選擇。值為"true"或"false"。

android:textScaleX 關聯方法: setTextScaleX(float) 屬性說明: 設置文字之間間隔,默認為1.0f。

android:textSize 關聯方法: setTextSize(int,float) 屬性說明: 設置文字大小,推薦度量單位”sp”,如”15sp”

android:textStyle 關聯方法: setTypeface(Typeface) 屬性說明: 設置字形[bold(粗體) 0, italic(斜體) 1, bolditalic(又粗又斜) 2] 可以設置一個或多個,用“|”隔開

android:typeface 關聯方法: setTypeface(Typeface) 屬性說明: 設置文本字體,必須是以下常量值之一:normal 0, sans 1, serif 2, monospace(等寬字體) 3]

android:width 關聯方法: setWidth(int) 屬性說明: 設置文本區域的寬度,支持度量單位:px(像素)/dp/sp/in/mm(毫米)。

android:fadingEdgeLength

設置淡入淡出邊緣的長度,可以接受大小值的單位是:px、dp、sp、in、mm,也可以參考大小值資源

android:fitsSystemWindows

是否適合系統窗體,取值為true或false。該屬性只對不是子組件的組件有效

android:focusable

是否可以獲取焦點,取值true或false

android:focusableInTouchMode

是否可以在觸摸模式下獲取焦點,true或false

android:hapticFeedbackEnabled

是否允許觸摸反饋效果,true或false

android:id

提供該組件的標識名,可以借助Activity或View實例的findViewById方法通過id獲取對應的組件實例對象,其屬性值的形式為:android:id=”@+id/id”

android:isScrollContainer

設置該組件是否設置為滾動條容器,true或false

android:keepScreenOn

控制該組件在顯示的時候保持在屏幕顯示,true或false

android:longClickable

是否響應長時間點擊事件,true或false

android:minHeight

組件的最小高度,取值同android:fadingEdgeLength

android:minWidth

組件的最小寬度,取值同android:fadingEdgeLength

android:nextFocusDown

設置下一個向下獲取焦點的組件,取值為id

android:nextFocusLeft

設置下一個向左獲取焦點的組件,取值為id

android:nextFocusRight

設置下一個向右獲取焦點的組件,取值為id

android:nextFocusUp

設置下一個向上獲取焦點的組件,取值為id

android:padding

設置上、下、左、右4個邊緣的填充距離,必須是一個大小值,取值同android:fadingEdgeLength

android:paddingBottom

設置下端邊緣的填充距離,取值同android:padding

android:paddingLeft

設置左端邊緣的填充距離,取值同android:padding

android:paddingRight

設置右端邊緣的填充距離,取值同android:padding

android:paddingTop

設置上端邊緣的填充距離,取值同android:padding

android:saveEnabled

是否允許保存狀態,取值為true或false

android:scrollX

設置垂直滾動條的位移量,必須是一個大小值,取值同android:padding

android:scrollY

設置水平滾動條的位移量,必須是一個大小值,取值同android:padding

android:scrollbarAlwaysDrawHorizontalTrack

是否總是設置水平滾動條滑塊,true或false

android:scrollbarAlwaysDrawVerticalTrack

是否總是設置垂直滾動條滑塊,true或false

android:scrollbarSize

設置垂直滾動條的寬度和水平滾動條的長度,必須是一個大小值,取值同android:padding

android:scrollbarStyle

設置滾動條的樣式,取值為下列之一:

insideOverlay在填充區域內,覆蓋形式

insideInset在填充區域內,插進形式(凹進)

outsideOverly在綁定組件邊緣,覆蓋形式

outsideInset在綁定組件邊緣,插進形似

android:scrollbarThumbHorizontal

設置水平滾動條按鈕的繪制資源,必須引用可繪制資源

android:scrollbarThumbVertical

設置垂直滾動條按鈕的繪制資源,必須引用可繪制資源

android:scrollbarTrackHorizontal

設置水平滾動條軌道的繪制資源,必須引用可繪制資源

android:scrollbarTrackVertical

設置水平滾動條軌道的繪制資源,必須引用可繪制資源

android:scrollbars

設置滾動顯示,可以為一下一個或多個值:

none不顯示滾動條

horizontal只顯示水平滾動條

vertical只顯示垂直滾動條

android:soundEffectsEnabled

是否允許音效,取值為true或false

android:tag

設置標記內容,可以通過View類實例的getTag方法獲取該組件的標記內容,或者使用findViewByTag通過標記來查找相應的子組件

android:visibility

設置初始化可見狀態,取值為以下之一:

visible可見(默認值)

invisible不可見(其所占空間將留出)

gone完全不可見(其所占空間都不會留出)

線性布局LinearLayout組件屬性列表

屬性

說明

android:baselineAligned

基線對齊

android:baselineAlignedChildIndex

以指定子組件作為基線對齊

android:gravity

指定該物體放入其容器的重心位置,取值為下列之一:

top上方,物體大小不變

bottom下方,物體大小不變

left左方,物體大小不變

right右方,物體大小不變

center_vertical垂直方向的中間,物體大小不變

fill_vertical填滿垂直方向,自動進行大小調整

center_horizontal水平方向的中間,大小不變

fill_horizontal填滿水平方向,自動進行大小調整

center居中(既是水平也是垂直方向的中間)

fill填滿整個容器

clip_vertical

clip_horizontal

android:orientation

布局方向,取值為下列之一:

horizontal水平的

vertical垂直的(默認值)

android:weightSum

組件的比重和

線性布局參數LinearLayout_Layout

屬性

說明

android:layout_gravity

當前子組件的心位置

android:layout_height

當前子組件的高度

android:layout_weight

當前子組件的空間比重,取值為浮點數

android:layout_width

當前子組件的寬度

相對布局RalativeLayout

屬性

說明

android:gravity

設置添加組件的重心

android:ignoreGravity

忽略布局重心的影響

相對布局參數RalativeLayout_Layout

屬性

說明

android:layout_above

將當前組件的下邊緣放置於參照組件之上,該屬性為參照組件的ID

android:layout_alignBaseline

當前組件與參照組件的基線對齊,該屬性為參照組件的ID

android:layout_alignBottom

當前組件與參照組件的下邊界對齊,該屬性為參照組件的ID

android:layout_alignLeft

當前組件與參照組件的左邊界對齊,該屬性為參照組件的ID

android:layout_alignParenBottom

當前組件與父組件的下邊界對齊,true或false

android:layout_alignParentLeft

當前組件與父組件的左邊界對齊,true或false

android:layout_alignParentRight

當前組件與父組件的右邊界對齊,true或false

android:layout_alignParentTop

當前組件與父組件的上邊界對齊,true或false

android:layout_alignRight

當前組件與參照組件的右邊界對齊,該屬性為參照組件的ID

android:layout_alignTop

當前組件與參照組件的上邊界對齊,該屬性為參照組件的ID

android:layout_alignWithParentIfMissing

true或false

android:layout_below

將當前組件的上邊緣放置於參照組件之下,該屬性為參照組件的ID

android:layout_centerHorizontal

當前組件放置到父組件的水平居中的位置

android:layout_centerInParent

當前組件放置到父組件的重心位置

android:layout_centerVertical

當前組件放置到父組件垂直居中的位置

android:layout_toLeftOf

將當前組件的右邊緣放置於參照組件之下,該屬性為參照組件的ID

android:layout_toRightOf

將當前組件的左邊緣放置於參照組件之下,該屬性為參照組件的ID

絕對布局參數AbsoluteLayout_Layout

屬性

說明

android:layout_x

當前組件的x坐標位置(從左到右方向)

android:layout_y

當前組件的y坐標位置(從上到下方向)

框布局FrameLayout

屬性

說明

android:foreground

前置圖片

android:foregroundGravity

前置圖片重心

android:measureAllChildren

在切換顯示時是否側重所有子組件的大小

android:layout_gravity

添加組件的重心

框布局參數FrameLayout_Layout

屬性

說明

android:layout_gravity

當前子組件所添加的重心位置

表格布局TableLayout

屬性

說明

android:collapseColumns

設置允許折疊的列編號,列編號基於0,屬性值可以是單個或多個列編號,編號與編號直接用逗號”,”分隔

android:shrinkColumns

設置允許收縮的列編號,列編號基於0,屬性值可以是單個或多個列編號,編號與編號直接用逗號”,”分隔

android:stretchColumns

設置允許伸展的列編號,列編號基於0,屬性值可以是單個或多個列編號,編號與編號直接用逗號”,”分隔

表格行的單元TableRow_Cell

屬性

說明

android:layout_column

設置該單元格的列編號(基於0)

android:layout_span

指明該單元格可以跨越的列數

抽象列表視圖組件AbsListView

屬性

說明

android:cacheColorHint

設置緩沖顏色

android:drawSelectorOnTop

是否將選擇器繪制在備選條目上方,取值為true或false

android:fastScrollEnabled

允許快速滾動

android:listSelector

指示選擇器的內容

android:scrollingCache

滾動時是否使用繪制緩沖,true或false

android:smoothScrollbar

平滑滾動條

android:stackFromBottom

從下方堆疊條目

android:textFilterEnbled

是否允許過濾

android:transcriptMode

設置抄本模式

列表視圖組件ListView

屬性

說明

android:choiceMode

選擇模式

android:divider

分割線顏色或組件的參考

android:dividerHeight

分割線高度

android:entries

指定綁定到當前列表視圖的一個數組資源

android:footerDividersEnabled

是否允許頁腳分割線

android:headerDividersEnabled

是否允許頁眉分割線

格子視圖組件GridView

屬性

說明

android:columnWidth

指定列寬

android:gravity

添加組件的重心位置

android:horizontalSpacing

水平空間

android:numColumns

指定列數

android:strechMode

伸展模式

android:verticalSpacing

垂直空間

畫廊視圖組件Gallery

屬性

說明

android:animationDuration

動畫持續時間

android:gravity

添加組件的重心位置

android:spacing

間隔空間

android:unselectedAlpha

非選擇條目的透明度

文本組件TextView

屬性

說明

android:autoLink

是否自動鏈接(內容是網址或是電子郵件時)

android:autoText

自動更新拼音錯誤

android:bufferType

設置緩沖區類型

android:capitalize

自動大寫

android:cursorVisible

光標是否可見,true或false

android:digits

所接受的數字字符

android:drawableBottom

在文本下方繪制

android:drawableLeft

在文本左方繪制

android: drawablePadding

繪制填充區

android: drawableRight

在文本右方繪制

android: drawableTop

在文本上方繪制

android:editable

是否可編輯,true或false

android:editorExtras

android:ellipsize

當內容過長時會自動打斷單詞內容

android:ems

android:enabled

是否可用,true或false

android:freezesText

是否凍結文本

android:gravity

指明文本的重心位置

android:height

高度值

android:hint

指示內容

android:imeActionId

android:imeActionLabel

android:imeOptions

輸入法選項

android:includeFontPadding

android:inputMethod

指定輸入法

android:inputType

輸入類型,取值為下列之一:

none

text普通文本

textCapCharacters大寫字符

textCapWords單詞首字母大寫

textCapSentences句子首字母大寫

textAutoCorret自動更正

textAutoComplete自動完成

textMultiLine多行內容

textUri,Uri

textEmailAddress電子郵件地址

textEmailSubject電子郵件主題

textShortMessage短消息

textLongMessage長消息

textPersonName個人姓名

textPostalAddress郵政地址

textPassword密碼

textVIsiblePassword可見的密碼

textWebEditText網頁格式

textFilter過濾字符串

textPhonetic語言發音

number數字

numberSigned有符號數字

numberDecimal十進制數字

phone電話號碼

datetime日期時間

date日期

time時間

android:lineSpacingExtra

android:lineSpacingMultiplier

android:lines

設置文本行數

android:linksClickable

android:marqueeRepeatLimit

來回移動的動畫次數

android:maxEms

android:maxHeight

物體的最大高度

android:maxLength

最大文本長度

android:maxLines

最大行數

android:minWidth

物體的最大寬度

android:minEms

android:minHeight

物體的最小高度

android:minLines

最小文本行數

android:minWidth

物體的最小寬度

android:numeric

是否使用數字輸入方式

android:password

是否使用密碼輸入方式

android:phonenumber

是否使用電話號碼輸入方式

android:privateImeOptions

android:scrollHorizontally

android:selectAllOnFocus

android:shadowColor

文本陰影顏色

android:shadowDx

陰影的水平偏移

android:shadowDy

陰影的垂直偏移

android:shadowRadius

陰影的半徑

android:singleLine

是否單行(不自動換行)

android:text

顯示的文本內容

android:textApperance

基本字體顏色、字樣、大小和樣式

android:textColor

文本顏色

android: textColorHighlight

文本高亮顏色

android: textColorHint

文本提示顏色

android:textColorLink

文本鏈接顏色

android:textScaleX

文本縮放因數

android:textSize

文本大小

android:textStyle

文本樣式,取值為下列之一:

bold粗體

italic斜體

bolditalic粗斜體

android:typeface

字樣

android:width

物體的高度

自動完成文本框AutoCompleteTextView

屬性

說明

android:completionHint

顯示提示

android:completionHintView

提示視圖

android:completionThreshold

設置開始提示的字符數

android:dropDownAnchor

下拉框鏈接視圖

android:dropDownSelector

下拉框選擇器

android:dropDownWIdth

下拉框寬度

圖片視圖ImageView

屬性

說明

android:adjustViewBounds

是否調整視圖范圍

android:baselineAlignBottom

是否按照下端基線對齊

android:cropToPadding

是否按照填充進行裁剪

android:maxHeight

設置最大高度

android:maxWidth

設置最大寬度

android:scaleType

縮放類型,取值為下列之一:

matrix圖片真實大小

fitXY適合圖片大小

fitStart

fitCenter

fitEnd

center居中顯示

centerCrop

centerInside

android:src

設置繪制用內容

android:tint

設置染色顏色值

android:layout_above="@id/xxx" --將控件置於給定ID控件之上 android:layout_below="@id/xxx" --將控件置於給定ID控件之下

android:layout_toLeftOf="@id/xxx" --將控件的右邊緣和給定ID控件的左邊緣對齊 android:layout_toRightOf="@id/xxx" --將控件的左邊緣和給定ID控件的右邊緣對齊

android:layout_alignLeft="@id/xxx" --將控件的左邊緣和給定ID控件的左邊緣對齊 android:layout_alignTop="@id/xxx" --將控件的上邊緣和給定ID控件的上邊緣對齊 android:layout_alignRight="@id/xxx" --將控件的右邊緣和給定ID控件的右邊緣對齊 android:layout_alignBottom="@id/xxx" --將控件的底邊緣和給定ID控件的底邊緣對齊 android:layout_alignParentLeft="true" --將控件的左邊緣和父控件的左邊緣對齊 android:layout_alignParentTop="true" --將控件的上邊緣和父控件的上邊緣對齊 android:layout_alignParentRight="true" --將控件的右邊緣和父控件的右邊緣對齊 android:layout_alignParentBottom="true" --將控件的底邊緣和父控件的底邊緣對齊 android:layout_centerInParent="true" --將控件置於父控件的中心位置 android:layout_centerHorizontal="true" --將控件置於水平方向的中心位置 android:layout_centerVertical="true" --將控件置於垂直方向的中心位置

好吧,就這樣吧,最近感覺甚是迷茫,就回頭梳理一下過往吧。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved