TextView屬性匯總
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、日喀則網(wǎng)站維護(hù)、網(wǎng)站推廣。
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í)行輸入值的拼寫糾正。此處無效果,在顯示輸入法并輸入的時(shí)候起作用。
android:bufferType指定getText()方式取得的文本類別。選項(xiàng)editable 類似于StringBuilder可追加字符,也就是說getText后可調(diào)用append方法設(shè)置文本內(nèi)容。spannable 則可在給定的字符區(qū)域使用樣式,參見這里1、這里2。
android:capitalize設(shè)置英文字母大寫類型。此處無效果,需要彈出輸入法才能看得到,參見EditView此屬性說明。
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ú)使用沒有效果。
android:drawableRight在text的右邊輸出一個(gè)drawable。
android:drawableTop在text的正上方輸出一個(gè)drawable。
android:editable設(shè)置是否可編輯。
android:editorExtras設(shè)置文本的額外的輸入數(shù)據(jù)。
android:ellipsize設(shè)置當(dā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í)顯示的文字提示信息,可通過textColorHint設(shè)置提示信息的顏色。此屬性在 EditView中使用,但是這里也可以用。
android:imeOptions附加功能,設(shè)置右下角IME動(dòng)作與編輯框相關(guān)的動(dòng)作,如actionDone右下角將顯示一個(gè)“完成”,而不設(shè)置默認(rèn)是一個(gè)回車符號(hào)。這個(gè)在EditView中再詳細(xì)說明,此處無用。
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ì)說明,這里無效果。
android:linksClickable設(shè)置鏈接是否點(diǎn)擊連接,即使設(shè)置了autoLink。
android:marqueeRepeatLimit在ellipsize指定marquee的情況下,設(shè)置重復(fù)滾動(dòng)的次數(shù),當(dāng)設(shè)置為 marquee_forever時(shí)表示無限次。
android:ems設(shè)置TextView的寬度為N個(gè)字符的寬度。這里測試為一個(gè)漢字字符寬度
android:maxEms設(shè)置TextView的寬度為最長為N個(gè)字符的寬度。與ems同時(shí)使用時(shí)覆蓋ems選項(xiàng)。
android:minEms設(shè)置TextView的寬度為最短為N個(gè)字符的寬度。與ems同時(shí)使用時(shí)覆蓋ems選項(xiàng)。
android:maxLength限制顯示的文本長度,超出部分不顯示。
android:lines設(shè)置文本的行數(shù),設(shè)置兩行就顯示兩行,即使第二行沒有數(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ù)字輸入法。此處無用,設(shè)置后唯一效果是TextView有點(diǎn)擊效果,此屬性在EdtiView將詳細(xì)說明。
android:password以小點(diǎn)”.”顯示文本
android:phoneNumber設(shè)置為電話號(hào)碼的輸入方式。
android:privateImeOptions設(shè)置輸入法選項(xiàng),此處無用,在EditText將進(jìn)一步討論。
android:scrollHorizontally設(shè)置文本超出TextView的寬度的情況下,是否出現(xiàn)橫拉條。
android:selectAllOnFocus如果文本是可選擇的,讓他獲取焦點(diǎn)而不是將光標(biāo)移動(dòng)為文本的開始位置或者末尾位置。 TextView中設(shè)置后無效果。
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í),后面用“…”來表示。如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, 再從新打開, 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() 方法 比如 "locale|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)值 "landscape" 風(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的樣式主題, 如果沒有設(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è)值之間用|分開。例如: activity android:windowSoftInputMode="stateVisible|adjustResize" . . .
在這設(shè)置的值(除"stateUnspecified"和"adjustUnspecified"以外)將覆蓋在主題中設(shè)置的值
值 描述
"stateUnspecified" 軟鍵盤的狀態(tài)(是否它是隱藏或可見)沒有被指定。系統(tǒng)將選擇一個(gè)合適的狀態(tài)或依賴于主題的設(shè)置。這個(gè)是為了軟件盤行為默認(rèn)的設(shè)置。
"stateUnchanged" 軟鍵盤被保持無論它上次是什么狀態(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沒有這個(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"
空間背景,這里沒有,指透明
android:layout_weight="1"
權(quán)重,控制控件之間的地位,在控制控件顯示的大小時(shí)蠻有用的。
android:textAppearance="?android:attr/textAppearanceLargeInverse"
文字外觀,這里引用的是系統(tǒng)自帶的一個(gè)外觀,?表示系統(tǒng)是否有這種外觀,否則使用默認(rèn)的外觀。不知道這樣理解對(duì)不對(duì)?
通過EditText的layout xml文件中的相關(guān)屬性來實(shí)現(xiàn):
1. 密碼框?qū)傩?android:password="true"? 這條可以讓EditText顯示的內(nèi)容自動(dòng)為星號(hào),輸入時(shí)內(nèi)容會(huì)在1秒內(nèi)變成*字樣。
2. 純數(shù)字 android:numeric="true" 這條可以讓輸入法自動(dòng)變?yōu)閿?shù)字輸入鍵盤,同時(shí)僅允許0-9的數(shù)字輸入
3. 僅允許 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)容過長一行無法全部顯示時(shí)
---------------------
Android中View是顯示控件,需要用一個(gè)layout布局來裝載,layout尺寸大寫的設(shè)置如下:
1. 盡量使用wrap_content、match_parent、weight 來規(guī)定layout的大小。
2. 要確保布局的靈活性并適應(yīng)各種尺寸的屏幕,應(yīng)使用 “wrap_content” 和 “match_parent” 控制某些視圖組件的寬度和高度。
3. 使用 “wrap_content”,系統(tǒng)就會(huì)將視圖的寬度或高度設(shè)置成所需的最小尺寸以適應(yīng)視圖中的內(nèi)容,而 “match_parent”(在低于 API 級(jí)別 8 的級(jí)別中稱為“fill_parent”)則會(huì)展開組件以匹配其父視圖的尺寸。
4. 如果使用 “wrap_content” 和 “match_parent” 尺寸值而不是硬編碼的尺寸,視圖就會(huì)相應(yīng)地僅使用自身所需的空間或展開以填滿可用空間。此方法可讓布局正確適應(yīng)各種屏幕尺寸和屏幕方向。
5. 如果某些地方必須要規(guī)定控件的大小,那么要使用dp 或者 dip單位。
Android動(dòng)態(tài)改變View控件大小的方法:
1、聲明控件參數(shù)獲取對(duì)象 LayoutParams lp;
2、獲取控件參數(shù): lp = 控件id.getLayoutParams();
3、設(shè)置控件參數(shù):如高度。 lp.height -= 10;
4:、使設(shè)置生效:控件id.setLayoutParams(lp);
例如如要把Imageview下移200px: ImageView.setPadding( ImageView.getPaddingLeft(), ImageView.getPaddingTop()+200, ImageView.getPaddingRight(), ImageView.getPaddingBottom());
一、方法
使用getLayoutParams() 和setLayoutParams()方法
二、示例代碼
LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) aaa.getLayoutParams();
// 取控件aaa當(dāng)前的布局參數(shù)
linearParams.height = 365; // 當(dāng)控件的高強(qiáng)制設(shè)成365象素
aaa.setLayoutParams(linearParams); // 使設(shè)置好的布局參數(shù)應(yīng)用到控件aaa
三、原理
a)getLayoutParams()和setLayoutParams()都是控件基類view的public方法,在外部也可以直接調(diào)用。
b)由于LayoutParams一般是在加入容器中設(shè)置的,所以容易混淆所指定的布局屬性究竟是保存在容器中,還是控件本身的屬性,答案是控件本身。但是在設(shè)置時(shí)還是要注意布局屬性與容器種類密切相關(guān)。
最近在做開發(fā)的時(shí)候,遇到了這樣的一個(gè)需求:有一個(gè)聊天的模板列表,要求使用彈框的樣式展示,盡可能的做到高度自適應(yīng)。于是我就開始了各種探索:
探索1動(dòng)態(tài)的的設(shè)置彈框的高度,發(fā)現(xiàn)無法準(zhǔn)確的計(jì)算高度,不美觀;
探索2將列表設(shè)置成固定高度,發(fā)現(xiàn)如果數(shù)目少的話就留有空白,不美觀;
探索3動(dòng)態(tài)的設(shè)置列表的高度,這個(gè)辦法還是可以的,使用recycleView做列表,發(fā)現(xiàn)高度很難控制,最終放棄了。
探索4動(dòng)態(tài)的設(shè)置列表的高度,只是使用listView實(shí)現(xiàn),最終發(fā)現(xiàn)是符合需求的。
好了,閑話不說了,該是上硬菜的時(shí)候了。
使用方式
大致思路就是將具體的計(jì)算邏輯封裝自定義的列表內(nèi),這樣使用起來的就相當(dāng)方便,其實(shí)就是計(jì)算出第一條item的高度,然后乘以最大item的個(gè)數(shù)就是最終列表展示的高度。當(dāng)然這也有一個(gè)弊端,因?yàn)檫@個(gè)思路的前提是假設(shè)列表的每個(gè)item的高度差距不大,否則列表看著就不那么美觀了。
文章標(biāo)題:android設(shè)置高度,安卓設(shè)置布局高度
轉(zhuǎn)載來源:http://m.kartarina.com/article38/dseedpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、動(dòng)態(tài)網(wǎng)站、網(wǎng)站內(nèi)鏈、靜態(tài)網(wǎng)站、域名注冊、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)