EditText是應用和使用者進行互動的一個重要控制元件,使用者在其中輸入資訊,EditText對資訊進行處理傳輸。
他控制元件的顯示設定也很簡單,如TextView一樣包括:id,寬,高,名稱(也就是顯示的文字)等的設定。
android:hint
這個是EditText一個非常人性化的屬性,我們經常會看到有好多輸入框在輸入前都會顯示一些資訊,當使用者在進行輸入的時候,資訊就會消失。這個就是通過該屬性進行實現的。當然還可以通過“android:hintTextColor”屬性設定提示文字的顏色。
在佈局檔案中新增:
1 |
android:hint="Type something here" |
EditText如果設定他的寬是“wrap_parent”,則隨著輸入內容的增多,輸入框會被拉長,如果超過一行,會自動換行顯示,顯示的是全部內容。但是這樣就有了一個弊端,如果我們輸入的內容過多,輸入框控制元件會佔據我們螢幕的大部分空間並且會非常的醜,這時我們可以通過maxLines屬性設定顯示的最大行數。
屬性新增前:
在xml佈局檔案新增android:maxLines="2"
後:
設定密碼輸入框
密碼輸入框通常都是在輸入密碼框的最右邊有一個眼睛樣式的按鈕,如果預設為顯示輸入的密碼為”*“,當我們點選時,密碼則為顯示具體;如果預設為顯示密碼具體,當我們點選眼睛時,密碼顯示為 “*“。
預設顯示密碼,點選眼睛按鈕後顯示密碼為”*“。
1 2 3 4 5 6 7 8 9 |
//onCreate中新增程式碼: buttonPassword = (Button) findViewById(R.id.buttonPassword); textPassword = (EditText) findViewById(R.id.editPassword); buttonPassword.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { textPassword.setTransformationMethod(new PasswordTransformationMethod()); } }); |
結果:
預設顯示密碼為”*“,點選眼睛按鈕後顯示密碼。
1 2 3 4 5 6 7 8 9 |
//onCreate中新增程式碼: buttonPassword = (Button) findViewById(R.id.buttonPassword); textPassword = (EditText) findViewById(R.id.editPassword); buttonPassword.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { textPassword.setTransformationMethod(null); } }); |
layout佈局檔案中相應的EditText要新增如下語句:
1 |
android:password="true" |
結果:
輸入限制
控制輸入的內容,例如我們要定義一個輸入手機號的輸入框,這是我們就不允許輸入字母或者漢字,我們只允許他輸入數字 和”-“。這時我們可以用”android:inputType=”number”“屬性來限制輸入的內容。如果我們要輸入身份證號碼,只允許輸入0-9數字和x字母,這時我們可以用”android:digits=”0123456789x”“限制輸入。