Android EditText用法


文章:https://www.jianshu.com/p/bb7667294816
1. 基本屬性
android:autoLink//設置是否當文本為URL鏈接/email/電話號碼/map時,文本顯示為可點擊的鏈接。可選值(none/web/email/phone/map/all)。 android:autoText//如果設置,將自動執行輸入值的拼寫糾正。 android:bufferType//指定getText()方式取得的文本類別。 android:capitalize//設置英文字母大寫類型。 android:cursorVisible//設定光標為顯示/隱藏,默認顯示。 android:digits//設置允許輸入哪些字符。如“1234567890.+-*/% ()” android:drawableBottom//在text的下方輸出一個drawable。如果指定一個顏色的話會把text的背景設為該顏色,並且同時和background使用時覆蓋后者。 android:drawableLeft//在text的左邊輸出一個drawable。 android:drawablePadding//設置text與drawable的間隔,與drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可設置為負數,單獨使用沒有效果。 android:drawableRight//在text的右邊輸出一個drawable。 android:drawableTop//在text的正上方輸出一個drawable。 android:editable//設置是否可編輯。 android:editorExtras//設置文本的額外的輸入數據。 android:ellipsize//設置當文字過長時,該控件該如何顯示。有如下值設置:“start”—?省略號顯示在開頭;“end”——省略號顯示在結尾;“middle”—-省略號顯示在中間;“marquee” ——以跑馬燈的方式顯示(動畫橫向移動) android:freezesText//設置保存文本的內容以及光標的位置。 android:gravity//設置文本位置,如設置成“center”,文本將居中顯示。 android:hintText//為空時顯示的文字提示信息。 android:textColorHint//設置提示信息的顏色。 android:imeOptions//附加功能,設置右下角IME動作與編輯框相關的動作,如actionDone右下角將顯示一個“完成”,而不設置默認是一個回車符號。 android:imeActionId//設置IME動作ID。 android:imeActionLabel//設置IME動作標簽。 android:includeFontPadding//設置文本是否包含頂部和底部額外空白,默認為true。 android:inputMethod//為文本指定輸入法,需要完全限定名(完整的包名)。 android:inputType//設置文本的類型,用於幫助輸入法顯示合適的鍵盤類型。 android:linksClickable//設置鏈接是否點擊連接,即使設置了autoLink。 android:marqueeRepeatLimit//在ellipsize指定marquee的情況下,設置重復滾動的次數,當設置為marquee_forever時表示無限次。 android:ems//設置TextView的寬度為N個字符的寬度。 android:maxEms//設置TextView的寬度為最長為N個字符的寬度。與ems同時使用時覆蓋ems選項。 android:minEms//設置TextView的寬度為最短為N個字符的寬度。與ems同時使用時覆蓋ems選項。 android:maxLength//限制顯示的文本長度,超出部分不顯示。 android:lines//設置文本的行數,設置兩行就顯示兩行,即使第二行沒有數據。 android:maxLines//設置文本的最大顯示行數,與width或者layout_width結合使用,超出部分自動換行,超出行數將不顯示。 android:minLines//設置文本的最小行數,與lines類似。 android:lineSpacingExtra//設置行間距。 android:lineSpacingMultiplier//設置行間距的倍數。如“1.2” android:numeric//如果設置“true”,輸入法自動變為數字輸入鍵盤,同時僅允許0-9的數字輸入。 android:password//以小點“.”顯示文本 android:phoneNumber//設置為電話號碼的輸入方式。 android:privateImeOptions//設置輸入法選項。 android:scrollHorizontally//設置文本超出TextView的寬度的情況下,是否出現橫拉條。 android:selectAllOnFocus//如果文本是可選擇的,讓他獲取焦點而不是將光標移動為文本的開始位置或者末尾位置。 android:shadowColor//指定文本陰影的顏色,需要與shadowRadius一起使用。 android:shadowDx//設置陰影橫向坐標開始位置。 android:shadowDy//設置陰影縱向坐標開始位置。 android:shadowRadius//設置陰影的半徑。設置為0.1就變成字體的顏色了,一般設置為3.0的效果比較好。 android:singleLine//設置單行顯示。如果和layout_width一起使用,當文本不能全部顯示時,后面用“…”來表示。 android:textStyle//設置字形;bold(粗體) 0, italic(斜體) 1, bolditalic(又粗又斜) 2;可以設置一個或多個,用“|”隔開。 android:typeface//設置文本字體,必須是以下常量值之一:normal 0, sans 1, serif 2, monospace(等寬字體) 3 android:maxHeight//設置文本區域的最大高度。 android:minHeight//設置文本區域的最小高度。 android:maxWidth//設置文本區域的最大寬度。 android:minWidth//設置文本區域的最小寬度。 android:textAppearance//設置文字外觀。如"?android:attr/textAppearanceLargeInverse" 這里引用的是系統自帶的一個外觀,?表示系統是否有這種外觀,否則使用默認的外觀。

2. 限制輸入內容

通過虛擬鍵盤來控制輸入框中內容的類型,可以在xml文件中加入android:inputType

inputType 有下面這些值:

date //日期鍵盤 datetime //日期時間格式 none //無格式 number //數字格式 numberDecimal //可以帶小數點的浮點格式 numberPassword //數字密碼格式 numberSigned //有符號數字格式 phone //撥號鍵盤 text //文本格式 textAutoComplete //自動完成 textAutoCorrect //糾正單詞的拼寫錯誤 textCapCharacters //所有字符大寫 textCapSentences //僅第一個字母大寫 textCapWords //單詞首字母大寫 textEmailAddress //電子郵件地址格式 textEmailSubject //郵件主題格式 textFilter //文本篩選格式 textImeMultiLine //輸入法多行 textLongMessage //長消息格式 textMultiLine //多行輸入 textNoSuggestions //不提示 textPassword //密碼格式 textPersonName //人名格式 textPhonetic //拼音輸入格式 textPostalAddress //郵政格式 textShortMessage //短消息格式 textUri //URI格式 textVisiblePassword //密碼可見格式 textWebEditText //作為網頁表單的文本格式 textWebEmailAddress //作為網頁表單的電子郵件地址格式 textWebPassword //作為網頁表單的密碼格式 time //時間鍵盤

3. 改變輸入法中回車按鈕的顯示內容

根據編輯框輸入完成后要執行的業務邏輯指定軟鍵盤右下角Action按鈕的樣式和行為,可以在xml文件中加入android:imeOptions

imeOptions 有下面一些常用值:

  • actionUnspecified未指定,對應常量EditorInfo.IME_ACTION_UNSPECIFIED
  • actionNone 沒有動作,對應常量EditorInfo.IME_ACTION_NONE
  • actionGo執行 “開始” ,對應常量EditorInfo.IME_ACTION_GO
  • actionSearch 執行 “搜索”,對應常量EditorInfo.IME_ACTION_SEARCH
  • actionSend執行 “發送”,對應常量EditorInfo.IME_ACTION_SEND
  • actionNext 執行 “下一個”,對應常量EditorInfo.IME_ACTION_NEXT
  • actionPrevious 執行 “上一個”,對應常量IME_ACTION_PREVIOUS
  • actionDone 執行 “完成”,對應常量EditorInfo.IME_ACTION_DONE



4、輸入框功能
 
1、刪除按鈕的顯示與隱藏
  沒有輸入文字時

 

 輸入文字時

 

 

1、實例化EditText控件

EditText  searchEdtText=findViewByid(...);

searchEdtText.addTextChangedListener(mTextWatcher);

2、方法
TextWatcher mTextWatcher = new TextWatcher() {

@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

}

@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

}

@Override
public void afterTextChanged(Editable editable) {
if (searchEdtText.getText().toString() != null && !searchEdtText.getText().toString().equals("")) {
searchImgDelete.setVisibility(View.VISIBLE);
} else {
searchImgDelete.setVisibility(View.GONE);
}
}
};

 

 

強制顯示隱藏軟鍵盤
InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);  
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0); //隱藏軟鍵盤 imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED); //顯示軟鍵盤



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM