1.Android控件屬性收集

最近在做ui方面的工作,收集這些屬性方便日后快速查找

具體詳情還是看官方文檔比較好(沒有比官網更好的文檔):
https://developer.android.com/index.html

@autho: zlw email: 739043667@qq.com 歡迎交流


目錄:
一、TextView、EditText 屬性
二、CardView 常見屬性
三、ToolBar 的屬性

一、TextView、EditText 屬性

【輸入樣式】

1.android:autoLink設置是否當文本為URL鏈接/email/電話號碼/map時,文本顯示為可點擊的鏈接??蛇x值(none/web/email/phone/map/all)
2.android:autoText如果設置,將自動執(zhí)行輸入值的拼寫糾正。此處無效果,在顯示輸入法并輸入的時候起作用。
4.android:cursorVisible設定光標為顯示/隱藏,默認顯示。
5.android:digits設置允許輸入哪些字符。如“1234567890.+-*/% ()”
6.android:editorExtras設置文本的額外的輸入數據。
7.android:ellipsize設置當文字過長時,該控件該如何顯示。有如下值設置:”start”—?省略號顯示在開頭;”end”——省略號顯示在結尾;”middle”—-省略號顯示在中間; ”marquee” ——以跑馬燈的方式顯示(動畫橫向移動)
 android:marqueeRepeatLimit在ellipsize指定marquee的情況下,設置重復滾動的次數,當設置為marquee_forever時表示無限次。

【文字樣式】

8.android:capitalize設置英文字母大寫類型。-EditView
9.android:includeFontPadding設置文本是否包含頂部和底部額外空白,默認為true。
10.android:ems設置TextView的寬度為N個字符的寬度。這里測試為一個漢字字符寬度
android:maxEms設置TextView的寬度為最長為N個字符的寬度。與ems同時使用時覆蓋ems選項。
android:minEms設置TextView的寬度為最短為N個字符的寬度。與ems同時使用時覆蓋ems選項。
11.android:maxLength限制顯示的文本長度,超出部分不顯示。
12.android:password以小點”.”顯示文本
android:phoneNumber設置為電話號碼的輸入方式。
13.android:shadowColor指定文本陰影的顏色,需要與shadowRadius一起使用。
14.android:shadowDx設置陰影橫向坐標開始位置。
android:shadowDy設置陰影縱向坐標開始位置。
android:shadowRadius設置陰影的半徑。設置為0.1就變成字體的顏色了,一般設置為3.0的效果比較好。
15.android:textColorLink文字鏈接的顏色.
16.android:textScaleX設置文字之間間隔,默認為1.0f。
17.android:textStyle設置字形[bold(粗體) 0, italic(斜體) 1, bolditalic(又粗又斜) 2] 可以設置一個或多個,用“|”隔開
18.android:typeface設置文本字體,必須是以下常量值之一:normal 0, sans 1, serif 2, monospace(等寬字體) 3]

【段落】

19.android:lines設置文本的行數,設置兩行就顯示兩行,即使第二行沒有數據。
android:maxLines設置文本的最大顯示行數,超出部分自動換行,超出行數將不顯示。
android:minLines設置文本的最小行數,與lines類似。
20. android:lineSpacingExtra設置行間距。
android:lineSpacingMultiplier設置行間距的倍數。如”1.2”
21.android:singleLine設置單行顯示。如果和layout_width一起使用,當文本不能全部顯示時,后面用“…”來表示。

【功能】

22. android:freezesText設置保存文本的內容以及光標的位置。
23.android:imeOptions附加功能,設置右下角IME動作與編輯框相關的動作,如actionDone右下角將顯示一個“完成”,而不設置默認是一個回車符號。這個在EditView中再詳細說明,此處無用。
24.android:imeActionId設置IME動作ID。
25.android:imeActionLabel設置IME動作標簽。
26.android:linksClickable設置鏈接是否點擊連接,即使設置了autoLink。
27.android:numeric如果被設置,該TextView有一個數字輸入法。此處無用,設置后唯一效果是TextView有點擊效果,此屬性在EdtiView將詳細說明。
28.android:scrollHorizontally設置文本超出TextView的寬度的情況下,是否出現橫拉條。
29.android:selectAllOnFocus如果文本是可選擇的,讓他獲取焦點而不是將光標移動為文本的開始位置或者末尾位置。TextView中設置后無效果。

特殊示例:

  1. 修改光標樣式
android:textCursorDrawable="@drawable/edittext_cursor"http://修改光標樣式
android:cursorVisible="true"
  1. MD 風格 (design包)
<android.support.design.widget.TextInputLayout>...
  1. 鍵盤提交EditView
//EditText樣式

android:imeOptions="actionSend"
android:inputType="text" />

//事件監(jiān)聽
editView.setOnKeyListener(new View.OnKeyListener() {

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_UP) {
onClickCommit();
}return false;}});

4.TextView 自由復制

android:textIsSelectable="true"

二、CardView屬性

app:cardBackgroundColor這是設置背景顏色
app:cardCornerRadius這是設置圓角大小
app:cardElevation這是設置z軸的陰影
app:cardMaxElevation這是設置z軸的最大高度值
app:cardUseCompatPadding是否使用CompatPadding
app:cardPreventCornerOverlap是否使用PreventCornerOverlap  設置內邊距,在V20和之前的版本中添加內邊距,這個屬性為了防止內容和邊角的重疊
app:contentPadding 設置內容的padding
android:foreground="?android:attr/selectableItemBackground"  波紋效果和clickable一起使用

--注意事項:
*cardview默認不允許點擊,如若點擊需設置clickable=true

三、ToolBar 的使用

https://developer.android.com/reference/android/support/v7/widget/Toolbar.html

常用示例:

app:contentInsetStart 設置toolbar前邊距(默認不為0)
app:title 
app:logo

--注意事項:
*使用Toolbar必須去掉默認導航欄:
supportRequestWindowFeature(Window.FEATURE_NO_TITLE)


*附錄
單位換算公式:

    px = (density/160)dp     //density一般為3個常用固定值240/160/120     
    1in=72pt    //in:英寸
    1dp = 1sp
    density 單位: px/in    理解為:  density = px/in
    ==》px = density * in
 //系數速查表
低(120dpi) 中(160dpi) 高(240dpi) 超高(320dpi) 超超高(480dpi)
低(0.75)   中(1)、     高(1.5)、  超高(2)、   超超高(3)           
系數公式:  系數 =density / 160dpi
舉個栗子:
160dpi :1px = 1dp ;  240dpi :2px = 1dp
 
換算公式: dp = 系數 * px    ==>  dp = (density / 160) * px   

pt換算公式:
1in=72pt
density = px/in
 ==>   density = px/72pt
==>  pt = px/(72*density)
============================
綜上所述:
pt = px/(72*density)                        或            pt = px/(72*160*系數)               
dp = (density / 160) * px                  或            dp = 系數 * px                (常用)
>>    pt =   (72*density *density /160)dp    或           pt  =  1/(72*160*系數*系數) dp            

   




最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容