編輯:關於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" --將控件置於垂直方向的中心位置
好吧,就這樣吧,最近感覺甚是迷茫,就回頭梳理一下過往吧。
如果沒有特殊要求,我們可以使用Android提供的框架來創建系統樣式的Preference Screen,在其內部可以包含PreferenceCategory和Prefe
在開發中,我們經常使用到ListView這個控件。Android的API也提供了許多創建ListView適配器的快捷方式。例如ArrayAdapter、Sim
微信群是我們經常聊天聊工作的地方,但是你需要離開的時候想要將這個微信群轉給一個人來管理該怎麼辦呢?那麼微信群怎麼轉讓群主呢?微信群怎麼轉讓給別人?微信群怎麼
平台: Wind7_64 + Ubuntu12_04_64 + VMware 這裡以Android5.0為例: Android5.0 可以到這