使用 EditTexts
EditText 是 Android 應用程式中的標準文字輸入視窗小部件。如果使用者需要在應用程式中輸入文字,這是他們執行此操作的主要方式。
EditText
可以設定許多重要屬性來自定義 EditText 的行為。下面列出了其中一些。檢視官方文字欄位指南,瞭解更多輸入欄位詳細資訊。
用法
EditText 將新增到佈局中,其中包含具有以下 XML 的所有預設行為:
<EditText
android:id="@+id/et_simple"
android:layout_height="wrap_content"
android:layout_width="match_parent">
</EditText>
請注意,EditText 只是 TextView 的精簡擴充套件,並且繼承了所有相同的屬性。
檢索價值
獲取輸入 EditText 的文字的值如下:
EditText simpleEditText = (EditText) findViewById(R.id.et_simple);
String strValue = simpleEditText.getText().toString();
進一步的入門定製
我們可能希望將條目限制為單行文字(避免換行):
<EditText
android:singleLine="true"
android:lines="1"
/>
你可以使用 digits 屬性限制可以輸入到欄位中的字元:
<EditText
android:inputType="number"
android:digits="01"
/>
這會將輸入的數字限制為 0
和 1
。我們可能希望限制字元總數:
<EditText
android:maxLength="5"
/>
使用這些屬性,我們可以定義文字欄位的預期輸入行為
調整顏色
你可以使用 android:textColorHighlight
屬性調整 EditText 中所選文字的高亮背景顏色:
<EditText
android:textColorHighlight="#7cff88"
/>
顯示佔位符提示
你可能希望為 EditText 控制元件設定提示,以提示使用者輸入特定輸入:
<EditText
...
android:hint="@string/my_hint">
</EditText>
提示
改變底線顏色
假設你正在使用 AppCompat 庫,則可以覆蓋樣式 colorControlNormal,colorControlActivated 和 colorControlHighlight:
<style name="Theme.App.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorControlNormal">#d32f2f</item>
<item name="colorControlActivated">#ff5722</item>
<item name="colorControlHighlight">#f44336</item>
</style>
如果你沒有在 DialogFragment 中看到這些樣式,則使用傳入 onCreateView()
方法的 LayoutInflater 時會出現一個已知錯誤。
該問題已在 AppCompat v23 庫中修復。請參閱本指南,瞭解如何升級。另一個臨時解決方法是使用 Activity 的佈局 inflater 而不是傳遞給 onCreateView()
方法的佈局:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_fragment, container);
}
收聽 EditText 輸入
檢視基本事件監聽器懸崖,瞭解如何監聽 EditText 的更改並在發生這些更改時執行操作。
顯示浮動標籤反饋
傳統上,EditText 在使用者開始輸入後隱藏提示訊息(如上所述)。此外,任何驗證錯誤訊息都必須由開發人員手動管理。