Android功能強(qiáng)大,界面華麗,但是眾多的布局屬性就害苦了開發(fā)者,下面這篇文章結(jié)合了網(wǎng)上不少資料.
第一類:屬性值為true或false
android:layout_centerHrizontal 水平居中 (Hrizontal表示水平)
android:layout_centerVertical 垂直居中 (Vertiacl表示垂直)
android:layout_centerInparent 相對(duì)于父元素完全居中
android:layout_alignParentBottom 貼緊父元素的下邊緣 (align 表示使什么成為一行)
android:layout_alignParentLeft 貼緊父元素的左邊緣
android:layout_alignParentRight 貼緊父元素的右邊緣
android:layout_alignParentTop 貼緊父元素的上邊緣
android:layout_alignWithParentIfMissing 如果對(duì)應(yīng)的兄弟元素找不到的話就以父元素做參照物
第二類:屬性值必須為id的引用名”@id/id-name”
android:layout_below 在某元素的下方
android:layout_above 在某元素的的上方
android:layout_toLeftOf 在某元素的左邊
android:layout_toRightOf 在某元素的右邊
android:layout_alignTop 本元素的上邊緣和某元素的的上邊緣對(duì)齊
android:layout_alignLeft 本元素的左邊緣和某元素的的左邊緣對(duì)齊
android:layout_alignBottom 本元素的下邊緣和某元素的的下邊緣對(duì)齊
android:layout_alignRight 本元素的右邊緣和某元素的的右邊緣對(duì)齊
第三類:屬性值為具體的像素值,如30dip,40px
android:layout_marginBottom 離某元素底邊緣的距離 margin英文是邊緣的意思
android:layout_marginLeft 離某元素左邊緣的距離
android:layout_marginRight 離某元素右邊緣的距離
android:layout_marginTop 離某元素上邊緣的距離
EditText的屬性
android:hint 設(shè)置EditText為空時(shí)輸入框內(nèi)的提示信息。
android:gravity屬性是對(duì)該view 內(nèi)容的限定.比如一個(gè)button 上面的text. 你可以設(shè)置該text 在view的靠左,靠右等位置.以button為例,android:gravity=”right”則button上面的文字靠右
android:layout_gravity
android:layout_gravity是用來(lái)設(shè)置該view相對(duì)與起父view 的位置.比如一個(gè)button 在linearlayout里,你想把該button放在靠左、靠右等位置就可以通過(guò)該屬性設(shè)置.以button為例,android:layout_gravity=”right”則button靠右
android:scaleType:
android:scaleType是控制圖片如何resized/moved來(lái)匹對(duì)ImageView的size。
ImageView.ScaleType / android:scaleType值的意義區(qū)別:
CENTER /center 按圖片的原來(lái)size居中顯示,當(dāng)圖片長(zhǎng)/寬超過(guò)View的長(zhǎng)/寬,則截取圖片的居中部分顯示
CENTER_CROP / centerCrop 按比例擴(kuò)大圖片的size居中顯示,使得圖片長(zhǎng)(寬)等于或大于View的長(zhǎng)(寬)
CENTER_INSIDE / centerInside 將圖片的內(nèi)容完整居中顯示,通過(guò)按比例縮小或原來(lái)的size使得圖片長(zhǎng)/寬等于或小于View的長(zhǎng)/寬
FIT_CENTER / fitCenter 把圖片按比例擴(kuò)大/縮小到View的寬度,居中顯示
FIT_END / fitEnd 把圖片按比例擴(kuò)大/縮小到View的寬度,顯示在View的下部分位置
FIT_START / fitStart 把圖片按比例擴(kuò)大/縮小到View的寬度,顯示在View的上部分位置
FIT_XY / fitXY 把圖片?不按比例擴(kuò)大/縮小到View的大小顯示
MATRIX / matrix 用矩陣來(lái)繪制,動(dòng)態(tài)縮小放大圖片來(lái)顯示。
** 要注意一點(diǎn),Drawable文件夾里面的圖片命名是不能大寫的。
android:id
為控件指定相應(yīng)的ID
android:text
指定控件當(dāng)中顯示的文字,需要注意的是,這里盡量使用strings.xml文件當(dāng)中的字符串
android:gravity
指定View組件的對(duì)齊方式,比如說(shuō)居中,居右等位置 這里指的是控件中的文本位置并不是控件本身
android:layout_gravity
指定Container組件的對(duì)齊方式.比如一個(gè)button 在linearlayout里,你想把該button放在靠左、靠右等位置就可以通過(guò)該屬性設(shè)置.以button為 例,android:layout_gravity=”right”則button靠右
android:textSize
指定控件當(dāng)中字體的大小
android:background
指定該控件所使用的背景色,RGB命名法
android:width
指定控件的寬度 控件與組件
android:height
指定控件的高度
android:layout_width
指定Container組件的寬度
android:layout_height
指定Container組件的高度
android:layout_weight
View中很重要的屬性,按比例劃分空間
android:padding*
指定控件的內(nèi)邊距,也就是說(shuō)控件當(dāng)中的內(nèi)容
android:sigleLine
如果設(shè)置為真的話,則控件的內(nèi)容在同一行中進(jìn)行顯示
android:scaleType
是控制圖片如何resized/moved來(lái)匹對(duì)ImageView的siz
android:layout_centerHrizontal
水平居中
android:layout_centerVertical
垂直居中
android:layout_centerInparent
相對(duì)于父元素完全居中
android:layout_alignParentBottom
貼緊父元素的下邊緣
android:layout_alignParentLeft
貼緊父元素的左邊緣
android:layout_alignParentRight
貼緊父元素的右邊緣
android:layout_alignParentTop
貼緊父元素的上邊緣
android:layout_alignWithParentIfMissing
如果對(duì)應(yīng)的兄弟元素找不到的話就以父元素做參照物
android:layout_below
在某元素的下方
android:layout_above
在某元素的的上方
android:layout_toLeftOf
在某元素的左邊
android:layout_toRightOf
在某元素的右邊
android:layout_alignTop
本元素的上邊緣和某元素的的上邊緣對(duì)齊
android:layout_alignLeft
本元素的左邊緣和某元素的的左邊緣對(duì)齊
android:layout_alignBottom
本元素的下邊緣和某元素的的下邊緣對(duì)齊
android:layout_alignRight
本元素的右邊緣和某元素的的右邊緣對(duì)齊
android:layout_marginBottom
離某元素底邊緣的距離
android:layout_marginLeft
離某元素左邊緣的距離
android:layout_marginRight
離某元素右邊緣的距離
android:layout_marginTop
離某元素上邊緣的距離
android:paddingLeft
本元素內(nèi)容離本元素右邊緣的距離
android:paddingRight
本元素內(nèi)容離本元素上邊緣的距離
android:hint
設(shè)置EditText為空時(shí)輸入框內(nèi)的提示信息
android:LinearLayout
它確定了LinearLayout的方向,其值可以為vertical, 表示垂直布局horizontal, 表示水平布局
android:interpolator
可能有很多人不理解它的用法,文檔里說(shuō)的也不太清楚,其實(shí)很簡(jiǎn)單,看下面:interpolator定義一個(gè)動(dòng)畫的變化率(the rate of change)。這使得基本的動(dòng)畫效果(alpha, scale, translate, rotate)得以加速,減速,重復(fù)等。用通俗的一點(diǎn)的話理解就是:動(dòng)畫的進(jìn)度使用 Interpolator 控制。interpolator 定義了動(dòng)畫的變化速度,可以實(shí)現(xiàn)勻速、正加速、負(fù)加速、無(wú)規(guī)則變加速等。Interpolator 是基類,封裝了所有 Interpolator 的共同方法,它只有一個(gè)方法,即 getInterpolation (float input),該方法 maps a point on the timeline to a multiplier to be applied to the transformations of an animation。Android 提供了幾個(gè) Interpolator 子類,實(shí)現(xiàn)了不同的速度曲線,如下:
AccelerateDecelerateInterpolator 在動(dòng)畫開始與介紹的地方速率改變比較慢,在中間的時(shí)侯加速
AccelerateInterpolator 在動(dòng)畫開始的地方速率改變比較慢,然后開始加速
CycleInterpolator 動(dòng)畫循環(huán)播放特定的次數(shù),速率改變沿著正弦曲線
DecelerateInterpolator 在動(dòng)畫開始的地方速率改變比較慢,然后開始減速
LinearInterpolator 在動(dòng)畫的以均勻的速率改變
對(duì)于 LinearInterpolator ,變化率是個(gè)常數(shù),即 f (x) = x.
public float getInterpolation(float input) {
return input;
}
Interpolator其他的幾個(gè)子類,也都是按照特定的算法,實(shí)現(xiàn)了對(duì)變化率。還可以定義自己的 Interpolator 子類,實(shí)現(xiàn)拋物線、自由落體等物理效果。
TextView屬性匯總
android:autoLink設(shè)置是否當(dāng)文本為URL鏈接/email/電話號(hào)碼/map時(shí),文本顯示為可點(diǎn)擊的鏈接。可選值(none/web/email/phone/map/all)
android:autoText如果設(shè)置,將自動(dòng)執(zhí)行輸入值的拼寫糾正。此處無(wú)效果,在顯示輸入法并輸入的時(shí)候起作用。
android:bufferType指定getText()方式取得的文本類別。選項(xiàng)editable 類似于StringBuilder可追加字符,也就是說(shuō)getText后可調(diào)用append方法設(shè)置文本內(nèi)容。spannable 則可在給定的字符區(qū)域使用樣式,參見這里1、這里2。
android:capitalize設(shè)置英文字母大寫類型。此處無(wú)效果,需要彈出輸入法才能看得到,參見EditView此屬性說(shuō)明。
android:cursorVisible設(shè)定光標(biāo)為顯示/隱藏,默認(rèn)顯示。
android:digits設(shè)置允許輸入哪些字符。如”1234567890.+-*/% ()”
android:drawableBottom在text的下方輸出一個(gè)drawable,如圖片。如果指定一個(gè)顏色的話會(huì)把text的背景設(shè)為該顏色,并且同時(shí)和background使用時(shí)覆蓋后者。
android:drawableLeft在text的左邊輸出一個(gè)drawable,如圖片。
android:drawablePadding設(shè)置text與drawable(圖片)的間隔,與drawableLeft、 drawableRight、drawableTop、drawableBottom一起使用,可設(shè)置為負(fù)數(shù),單獨(dú)使用沒(méi)有效果。
android:drawableRight在text的右邊輸出一個(gè)drawable。
android:drawableTop在text的正上方輸出一個(gè)drawable。
android:editable設(shè)置是否可編輯。
android:editorExtras設(shè)置文本的額外的輸入數(shù)據(jù)。
android:ellipsize設(shè)置當(dāng)文字過(guò)長(zhǎng)時(shí),該控件該如何顯示。有如下值設(shè)置:”start”—-省略號(hào)顯示在開頭;”end” ——省略號(hào)顯示在結(jié)尾;”middle”—-省略號(hào)顯示在中間;”marquee” ——以跑馬燈的方式顯示(動(dòng)畫橫向移動(dòng))
android:freezesText設(shè)置保存文本的內(nèi)容以及光標(biāo)的位置。
android:gravity設(shè)置文本位置,如設(shè)置成”center”,文本將居中顯示。
android:hintText為空時(shí)顯示的文字提示信息,可通過(guò)textColorHint設(shè)置提示信息的顏色。此屬性在 EditView中使用,但是這里也可以用。
android:imeOptions附加功能,設(shè)置右下角IME動(dòng)作與編輯框相關(guān)的動(dòng)作,如actionDone右下角將顯示一個(gè)”完成”,而不設(shè)置默認(rèn)是一個(gè)回車符號(hào)。這個(gè)在EditView中再詳細(xì)說(shuō)明,此處無(wú)用。
android:imeActionId設(shè)置IME動(dòng)作ID。
android:imeActionLabel設(shè)置IME動(dòng)作標(biāo)簽。
android:includeFontPadding設(shè)置文本是否包含頂部和底部額外空白,默認(rèn)為true。
android:inputMethod為文本指定輸入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin,但是這里報(bào)錯(cuò)找不到。
android:inputType設(shè)置文本的類型,用于幫助輸入法顯示合適的鍵盤類型。在EditView中再詳細(xì)說(shuō)明,這里無(wú)效果。
android:linksClickable設(shè)置鏈接是否點(diǎn)擊連接,即使設(shè)置了autoLink。
android:marqueeRepeatLimit在ellipsize指定marquee的情況下,設(shè)置重復(fù)滾動(dòng)的次數(shù),當(dāng)設(shè)置為 marquee_forever時(shí)表示無(wú)限次。
android:ems設(shè)置TextView的寬度為N個(gè)字符的寬度。這里測(cè)試為一個(gè)漢字字符寬度
android:maxEms設(shè)置TextView的寬度為最長(zhǎng)為N個(gè)字符的寬度。與ems同時(shí)使用時(shí)覆蓋ems選項(xiàng)。
android:minEms設(shè)置TextView的寬度為最短為N個(gè)字符的寬度。與ems同時(shí)使用時(shí)覆蓋ems選項(xiàng)。
android:maxLength限制顯示的文本長(zhǎng)度,超出部分不顯示。
android:lines設(shè)置文本的行數(shù),設(shè)置兩行就顯示兩行,即使第二行沒(méi)有數(shù)據(jù)。
android:maxLines設(shè)置文本的最大顯示行數(shù),與width或者layout_width結(jié)合使用,超出部分自動(dòng)換行,超出行數(shù)將不顯示。
android:minLines設(shè)置文本的最小行數(shù),與lines類似。
android:lineSpacingExtra設(shè)置行間距。
android:lineSpacingMultiplier設(shè)置行間距的倍數(shù)。如”1.2″
android:numeric如果被設(shè)置,該TextView有一個(gè)數(shù)字輸入法。此處無(wú)用,設(shè)置后唯一效果是TextView有點(diǎn)擊效果,此屬性在EdtiView將詳細(xì)說(shuō)明。
android:password以小點(diǎn)”.”顯示文本
android:phoneNumber設(shè)置為電話號(hào)碼的輸入方式。
android:privateImeOptions設(shè)置輸入法選項(xiàng),此處無(wú)用,在EditText將進(jìn)一步討論。
android:scrollHorizontally設(shè)置文本超出TextView的寬度的情況下,是否出現(xiàn)橫拉條。
android:selectAllOnFocus如果文本是可選擇的,讓他獲取焦點(diǎn)而不是將光標(biāo)移動(dòng)為文本的開始位置或者末尾位置。 TextView中設(shè)置后無(wú)效果。
android:shadowColor指定文本陰影的顏色,需要與shadowRadius一起使用。
android:shadowDx設(shè)置陰影橫向坐標(biāo)開始位置。
android:shadowDy設(shè)置陰影縱向坐標(biāo)開始位置。
android:shadowRadius設(shè)置陰影的半徑。設(shè)置為0.1就變成字體的顏色了,一般設(shè)置為3.0的效果比較好。
android:singleLine設(shè)置單行顯示。如果和layout_width一起使用,當(dāng)文本不能全部顯示時(shí),后面用”…”來(lái)表示。如android:text=”test_ singleLine ”
android:singleLine=”true” android:layout_width=”20dp”將只顯示”t…”。如果不設(shè)置singleLine或者設(shè)置為false,文本將自動(dòng)換行
android:text設(shè)置顯示文本.
android:textAppearance設(shè)置文字外觀。如 “?android:attr/textAppearanceLargeInverse”這里引用的是系統(tǒng)自帶的一個(gè)外觀,?表示系統(tǒng)是否有這種外觀,否則使用默認(rèn)的外觀。可textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse
android:textColor設(shè)置文本顏色
android:textColorHighlight被選中文字的底色,默認(rèn)為藍(lán)色
android:textColorHint設(shè)置提示信息文字的顏色,默認(rèn)為灰色。與hint一起使用。
android:textColorLink文字鏈接的顏色.
android:textScaleX設(shè)置文字之間間隔,默認(rèn)為1.0f。
android:textSize設(shè)置文字大小,推薦度量單位”sp”,如”15sp”
android:textStyle設(shè)置字形[bold(粗體) 0, italic(斜體) 1, bolditalic(又粗又斜) 2] 可以設(shè)置一個(gè)或多個(gè),用”|”隔開
android:typeface設(shè)置文本字體,必須是以下常量值之一:normal 0, sans 1, serif 2, monospace(等寬字體) 3]
android:height設(shè)置文本區(qū)域的高度,支持度量單位:px(像素)/dp/sp/in/mm(毫米)
android:maxHeight設(shè)置文本區(qū)域的最大高度
android:minHeight設(shè)置文本區(qū)域的最小高度
android:width設(shè)置文本區(qū)域的寬度,支持度量單位:px(像素)/dp/sp/in/mm(毫米),與layout_width 的區(qū)別看這里。
android:maxWidth設(shè)置文本區(qū)域的最大寬度
android:minWidth設(shè)置文本區(qū)域的最小寬度
Android activity屬性匯總
android:allowTaskReparenting
是否允許activity更換從屬的任務(wù),比如從短信息任務(wù)切換到瀏覽器任務(wù)。
android:alwaysRetainTaskState
是否保留狀態(tài)不變, 比如切換回home, 再?gòu)男麓蜷_, activity處于最后的狀態(tài)
android:clearTaskOnLanunch
比如 P 是 activity, Q 是被P 觸發(fā)的 activity, 然后返回Home, 從新啟動(dòng) P,是否顯示 Q
android:configChanges
當(dāng)配置list發(fā)生修改時(shí),是否調(diào)用 onConfigurationChanged() 方法 比如 “l(fā)ocale|navigation|orientation”.
android:enabled
activity 是否可以被實(shí)例化,
android:excludeFromRecents
是否可被顯示在最近打開的activity列表里
android:exported
是否允許activity被其它程序調(diào)用
android:finishOnTaskLaunch
是否關(guān)閉已打開的activity當(dāng)用戶重新啟動(dòng)這個(gè)任務(wù)的時(shí)候
android.icon
android:label
android:launchMode
activity啟動(dòng)方式, “standard” “singleTop” “singleTask” “singleInstance”
其中前兩個(gè)為一組, 后兩個(gè)為一組
android:multiprocess
允許多進(jìn)程
android:name
activity的類名, 必須指定
androidnHistory
是否需要移除這個(gè)activity當(dāng)用戶切換到其他屏幕時(shí)。這個(gè)屬性是 API level 3 中引入的
android:permission
android:process
一 個(gè)activity運(yùn)行時(shí)所在的進(jìn)程名,所有程序組件運(yùn)行在應(yīng)用程序默認(rèn)的進(jìn)程中,這個(gè)進(jìn)程名跟應(yīng)用程序的包名一致。中的元素process屬性能夠?yàn)樗薪M件設(shè)定一個(gè)新的默認(rèn)值。但是任何組件都可以覆蓋這個(gè)默認(rèn)值,允許你將你的程序放在多進(jìn)程中運(yùn)行。 如果這個(gè)屬性被分配的名字以:開頭,當(dāng)這個(gè)activity運(yùn)行時(shí), 一個(gè)新的專屬于這個(gè)程序的進(jìn)程將會(huì)被創(chuàng)建。如果這個(gè)進(jìn)程名以小寫字母開頭,這個(gè)activity將會(huì)運(yùn)行在全局的進(jìn)程中,被它的許可所提供。
android:screenOrientation
activity顯示的模式, “unspecified” 默認(rèn)值 “l(fā)andscape” 風(fēng)景畫模式,寬度比高度大一些 “portrait” 肖像模式, 高度比寬度大。 “user” 用戶的設(shè)置 “behind” “sensor” “nosensor”
android:stateNotNeeded
是否 activity被銷毀和成功重啟并不保存狀態(tài)
android:taskAffinity
activity的親屬關(guān)系, 默認(rèn)情況同一個(gè)應(yīng)用程序下的activity有相同的關(guān)系
android:theme
activity的樣式主題, 如果沒(méi)有設(shè)置,則activity的主題樣式從屬于應(yīng)用程序,參見元素的theme屬性
android:windowSoftInputMode
activity主窗口與軟鍵盤的交互模式, 自從API level 3 被引入
活動(dòng)的主窗口如何與包含屏幕上的軟鍵盤窗口交互。這個(gè)屬性的設(shè)置將會(huì)影響兩件事情:
1> 軟鍵盤的狀態(tài)——是否它是隱藏或顯示——當(dāng)活動(dòng)(Activity)成為用戶關(guān)注的焦點(diǎn)。
2> 活動(dòng)的主窗口調(diào)整——是否減少活動(dòng)主窗口大小以便騰出空間放軟鍵盤或是否當(dāng)活動(dòng)窗口的部分被軟鍵盤覆蓋時(shí)它的內(nèi)容的當(dāng)前焦點(diǎn)是可見的。
它的設(shè)置必須是下面列表中的一個(gè)值,或一個(gè)”state…”值加一個(gè)”adjust…”值的組合。在任一組設(shè)置多個(gè)值——多個(gè)”state…”values,例如&mdash有未定義的結(jié)果。各個(gè)值之間用|分開。例如:
在這設(shè)置的值(除”stateUnspecified”和”adjustUnspecified”以外)將覆蓋在主題中設(shè)置的值
值 描述
“stateUnspecified” 軟鍵盤的狀態(tài)(是否它是隱藏或可見)沒(méi)有被指定。系統(tǒng)將選擇一個(gè)合適的狀態(tài)或依賴于主題的設(shè)置。這個(gè)是為了軟件盤行為默認(rèn)的設(shè)置。
“stateUnchanged” 軟鍵盤被保持無(wú)論它上次是什么狀態(tài),是否可見或隱藏,當(dāng)主窗口出現(xiàn)在前面時(shí)。
“stateHidden” 當(dāng)用戶選擇該Activity時(shí),軟鍵盤被隱藏——也就是,當(dāng)用戶確定導(dǎo)航到該Activity時(shí),而不是返回到它由于離開另一個(gè)Activity。
“stateAlwaysHidden” 軟鍵盤總是被隱藏的,當(dāng)該Activity主窗口獲取焦點(diǎn)時(shí)。
“stateVisible” 軟鍵盤是可見的,當(dāng)那個(gè)是正常合適的時(shí)(當(dāng)用戶導(dǎo)航到Activity主窗口時(shí))。
“stateAlwaysVisible” 當(dāng)用戶選擇這個(gè)Activity時(shí),軟鍵盤是可見的——也就是,也就是,當(dāng)用戶確定導(dǎo)航到該Activity時(shí),而不是返回到它由于離開另一個(gè)Activity。
“adjustUnspecified” 它不被指定是否該Activity主窗口調(diào)整大小以便留出軟鍵盤的空間,或是否窗口上的內(nèi)容得到屏幕上當(dāng)前的焦點(diǎn)是可見的。系統(tǒng)將自動(dòng)選擇這些模式中一種主要依賴于是否窗口的內(nèi)容有任何布局視圖能夠滾動(dòng)他們的內(nèi)容。如果有這樣的一個(gè)視圖,這個(gè)窗口將調(diào)整大小,這樣的假設(shè)可以使?jié)L動(dòng)窗口的內(nèi)容在一個(gè)較小的區(qū)域中可見的。這個(gè)是主窗口默認(rèn)的行為設(shè)置。
“adjustResize” 該Activity主窗口總是被調(diào)整屏幕的大小以便留出軟鍵盤的空間。
“adjustPan” 該Activity主窗口并不調(diào)整屏幕的大小以便留出軟鍵盤的空間。相反,當(dāng)前窗口的內(nèi)容將自動(dòng)移動(dòng)以便當(dāng)前焦點(diǎn)從不被鍵盤覆蓋和用戶能總是看到輸入內(nèi)容的部分。這個(gè)通常是不期望比調(diào)整大小,因?yàn)橛脩艨赡荜P(guān)閉軟鍵盤以便獲得與被覆蓋內(nèi)容的交互操作。
Android EditText 屬性匯總
android:layout_gravity=”center_vertical”
設(shè)置控件顯示的位置:默認(rèn)top,這里居中顯示,還有bottom
android:hint=”請(qǐng)輸入數(shù)字!”
設(shè)置顯示在空間上的提示信息
android:numeric=”integer”
設(shè)置只能輸入整數(shù),如果是小數(shù)則是:decimal
android:singleLine=”true”
設(shè)置單行輸入,一旦設(shè)置為true,則文字不會(huì)自動(dòng)換行。
android:password=”true”
設(shè)置只能輸入密碼
android:textColor = “#ff8c00″
字體顏色
android:textStyle=”bold”
字體,bold, italic, bolditalic
android:textSize=”20dip”
大小
android:capitalize = “characters”
以大寫字母寫
android:textAlign=”center”
EditText沒(méi)有這個(gè)屬性,但TextView有
android:textColorHighlight=”#cccccc”
被選中文字的底色,默認(rèn)為藍(lán)色
android:textColorHint=”#ffff00″
設(shè)置提示信息文字的顏色,默認(rèn)為灰色
android:textScaleX=”1.5″
控制字與字之間的間距
android:typeface=”monospace”
字型,normal, sans, serif, monospace
android:background=”@null”
空間背景,這里沒(méi)有,指透明
android:layout_weight=”1″
權(quán)重,控制控件之間的地位,在控制控件顯示的大小時(shí)蠻有用的。
android:textAppearance=”?android:attr/textAppearanceLargeInverse”
文字外觀,這里引用的是系統(tǒng)自帶的一個(gè)外觀,?表示系統(tǒng)是否有這種外觀,否則使用默認(rèn)的外觀。不知道這樣理解對(duì)不對(duì)?
通過(guò)EditText的layout xml文件中的相關(guān)屬性來(lái)實(shí)現(xiàn):
- 密碼框?qū)傩?android:password=”true” 這條可以讓EditText顯示的內(nèi)容自動(dòng)為星號(hào),輸入時(shí)內(nèi)容會(huì)在1秒內(nèi)變成*字樣。
- 純數(shù)字 android:numeric=”true” 這條可以讓輸入法自動(dòng)變?yōu)閿?shù)字輸入鍵盤,同時(shí)僅允許0-9的數(shù)字輸入
- 僅允許 android:capitalize=”cwj1987″ 這樣僅允許接受輸入cwj1987,一般用于密碼驗(yàn)證
下面是一些擴(kuò)展的風(fēng)格屬性
android:editable=”false” 設(shè)置EditText不可編輯
android:singleLine=”true” 強(qiáng)制輸入的內(nèi)容在單行
android:ellipsize=”end” 自動(dòng)隱藏尾部溢出數(shù)據(jù),一般用于文字內(nèi)容過(guò)長(zhǎng)一行無(wú)法全部顯示時(shí)
RelativeLayout布局
android:layout_marginTop=”25dip” //頂部距離
android:gravity=”left” //空間布局位置
android:layout_marginLeft=”15dip //距離左邊距
// 相對(duì)于給定ID控件
android:layout_above 將該控件的底部置于給定ID的控件之上;
android:layout_below 將該控件的底部置于給定ID的控件之下;
android:layout_toLeftOf 將該控件的右邊緣與給定ID的控件左邊緣對(duì)齊;
android:layout_toRightOf 將該控件的左邊緣與給定ID的控件右邊緣對(duì)齊;
android:layout_alignBaseline 將該控件的baseline與給定ID的baseline對(duì)齊;
android:layout_alignTop 將該控件的頂部邊緣與給定ID的頂部邊緣對(duì)齊;
android:layout_alignBottom 將該控件的底部邊緣與給定ID的底部邊緣對(duì)齊;
android:layout_alignLeft 將該控件的左邊緣與給定ID的左邊緣對(duì)齊;
android:layout_alignRight 將該控件的右邊緣與給定ID的右邊緣對(duì)齊;
// 相對(duì)于父組件
android:layout_alignParentTop 如果為true,將該控件的頂部與其父控件的頂部對(duì)齊;
android:layout_alignParentBottom 如果為true,將該控件的底部與其父控件的底部對(duì)齊;
android:layout_alignParentLeft 如果為true,將該控件的左部與其父控件的左部對(duì)齊;
android:layout_alignParentRight 如果為true,將該控件的右部與其父控件的右部對(duì)齊;
// 居中
android:layout_centerHorizontal 如果為true,將該控件的置于水平居中;
android:layout_centerVertical 如果為true,將該控件的置于垂直居中;
android:layout_centerInParent 如果為true,將該控件的置于父控件的中央;
// 指定移動(dòng)像素
android:layout_marginTop 上偏移的值;
android:layout_marginBottom 下偏移的值;
android:layout_marginLeft 左偏移的值;
android:layout_marginRight 右偏移的值;
android:id — 為控件指定相應(yīng)的ID
android:text — 指定控件當(dāng)中顯示的文字,需要注意的是,這里盡量使用strings.xml文件當(dāng)中的字符串
android:grivity — 指定控件的基本位置,比如說(shuō)居中,居右等位置這里指的是控件中的文本位置并不是控件本身。
android:textSize — 指定控件當(dāng)中字體的大小
android:background — 指定該控件所使用的背景色,RGB命名法
android:width — 指定控件的寬度
android:height — 指定控件的高度
android:padding* — 指定控件的內(nèi)邊距,也就是說(shuō)控件當(dāng)中的內(nèi)容
android:sigleLine — 如果設(shè)置為真的話,則控件的內(nèi)容在同一行中進(jìn)行顯示
下邊是相對(duì)布局屬性的說(shuō)明:RelativeLayout
android:layout_above 將該控件的底部至于給定ID控件之上
android:layout_below 將該控件的頂部至于給定ID的控件之下
android:layout_toLeftOf 將該控件的右邊緣和給定ID的控件左邊緣對(duì)齊
android:layout_toRightOf 將該控件的左邊緣和給定ID的控件的右邊緣對(duì)齊
android:layout_alignBaseline 該控件的baseline和給定ID的控件的baseline對(duì)齊
android:layout_alignBottom 將該控件的底部邊緣與給定ID控件的底部邊緣對(duì)齊
android:layout_alignLeft 將該控件的左邊緣與給定ID控件的左邊緣對(duì)齊
android:layout_alignRight 將該控件的右邊緣與給定ID控件的右邊緣對(duì)齊
android:layout_alignTop 將該控件的頂部邊緣與給定ID控件的頂部對(duì)齊
android:alignParentBottom 如果該值為true,則將該控件的底部和父控件的底部對(duì)齊
android:layout_alignParentLeft 如果該值為true,則將該控件左邊與父控件的左邊對(duì)齊
android:layout_alignParentRight 如果該值為true,則將該控件的右邊與父控件的右邊對(duì)齊
android:layout_alignParentTop 如果該值為true,則將該控件的頂部與父控件的頂部對(duì)齊
android:layout_centerHorizontal 如果為真,該控件將被至于水平方向的中央
android:layout_centerInParent 如果為真,該控件將被至于父控件水平方向和垂直方向的中央
android:layout_centerVertical 如果為真,該控件將被至于垂直方向的中央
android:layout_marginLeft此屬性用來(lái)設(shè)置控件之間的間隙(控件和控件之間和內(nèi)邊距不同)
android:padding=”3dip”說(shuō)明了四邊的內(nèi)邊距是3dip
TableLayout
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
android:stretchColumns=”0″
android:stretchColumns=”0″第一列作為拉伸列填滿整行
Java中修飾符總結(jié):
1、訪問(wèn)控制修飾符
public的訪問(wèn)級(jí)別是最高的,其次是protected、默認(rèn)和private
成員變量和成員方法可以處于4個(gè)訪問(wèn)級(jí)別中的一個(gè):公開、受保護(hù)、默認(rèn)或私有
頂層類可以處于公開或默認(rèn)級(jí)別,頂層類不能被protected和private修飾
局部變量不能被訪問(wèn)控制修飾符修飾
2、abstract修飾符
抽象類不能被實(shí)例化
抽象類中可以沒(méi)有抽象方法,但包含了抽象方法的類必須被定義為抽象方法
如果子類沒(méi)有實(shí)現(xiàn)父類中所有的抽象方法,子類也必須定義為抽象類
抽象類不能被定義為private、final、和static類型
沒(méi)有抽象的構(gòu)造方法
抽象方法沒(méi)有方法體
3、final修飾符
用final修飾的類不能被繼承
用final修飾的方法不能被子類的方法覆蓋
private類型的方法都默認(rèn)為是final方法,因而不能被子類的方法覆蓋
final變量必須被顯式初始化,并且只能被賦值一次值
4、static修飾符
靜態(tài)變量在內(nèi)存中只有一個(gè)拷貝,在類的所有實(shí)例中共享
在靜態(tài)方法中不能直接訪問(wèn)實(shí)例方法和實(shí)例變量
在靜態(tài)方法中不能使用this和super關(guān)鍵字
靜態(tài)方法不能被abstract修飾
靜態(tài)方法和靜態(tài)變量都可以通過(guò)類名直接訪問(wèn)
當(dāng)類被加載時(shí),靜態(tài)代碼塊只能被執(zhí)行一次。類中不同的靜態(tài)方法代碼塊按他們?cè)陬愔谐霈F(xiàn)的順序被依次執(zhí)行
當(dāng)多個(gè)修飾符連用時(shí),修飾符的順序可以顛倒,不過(guò)作為普遍遵守的編程規(guī)范,通常把訪問(wèn)控制修飾符放在首位,其次是static或abstact修飾符,接著就是其他的修飾符
5、以下修飾符連用是無(wú)意義的,會(huì)導(dǎo)致編譯錯(cuò)誤:
abstract與private
abstract與final
abstract與static