在今天的文章中,我們將聚焦於 Android 開發中的兩個關鍵元件:EditText 和 Spinner。這兩個元件在日常應用開發中經常被使用,它們各自具有強大的功能和多樣的配置選項。透過詳細介紹這些元件,我們可以更好地掌握如何在應用中靈活運用它們。
EditText 是 Android 中最常見的輸入框元件之一,允許用戶在應用中輸入文字。它是 TextView 的子類,除了顯示文字外,還提供了豐富的輸入選項。這個元件通常用於表單、搜尋框或是聊天應用中的訊息輸入欄。
XML 定義 EditText
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="請輸入文字"
android:inputType="text"/>
在上述的 XML 代碼中,我們定義了一個基本的 EditText 元件。android:hint 屬性用來在輸入框內顯示提示文字,而 android:inputType 則用來指定輸入類型(以下是其他類型補充)
text: 一般文本輸入(預設模式)。
textCapCharacters: 輸入大寫字母。
textCapWords: 每個單詞的第一個字母大寫。
textCapSentences: 每個句子的第一個字母大寫。
textAutoCorrect: 啟用自動更正(如果可用)。
textPassword: 隱藏文字輸入,用於密碼。
number: 僅允許數字輸入。
phone: 顯示適合輸入電話號碼的鍵盤。
datetime: 顯示日期時間選擇器。
emailAddress: 顯示適合輸入電子郵件地址的鍵盤。
除了基本的文本輸入,EditText 還能進行更多的定制化操作,例如設置字數限制、自動完成提示、密碼遮蔽等。以下是一些常用的操作範例:
設置最大輸入字數
android:maxLength="20"
在這個例子中,android:maxLength 屬性限制了用戶最多只能輸入 20 個字符。
程式碼獲取輸入內容
EditText editText = findViewById(R.id.editText);
String userInput = editText.getText().toString();
透過這段程式碼,我們可以獲取用戶在 EditText 中輸入的內容,並進行後續處理。
Spinner 是一個下拉選單元件,允許用戶從預定義的選項列表中選擇一個項目。它通常用於需要使用者選擇一個或多個固定選項的情境,例如國家選擇、性別選擇等。
XML 定義 Spinner
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
在這裡,我定義了一個基本的 Spinner 元件。Spinner 的選項通常是透過 ArrayAdapter 來設定的。
要為 Spinner 設定選項,我們需要先準備一個選項列表,然後使用 ArrayAdapter 來將選項綁定到 Spinner 上。
Spinner spinner=(Spinner) findViewById(R.id.spinner);
ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item,new String[]{"Taiwan","Korean","Japan"});
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
監聽選項變化
我們可以使用 OnItemSelectedListener 來監聽使用者的選擇變化,並根據選項進行相應的操作。
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String selected = parent.getItemAtPosition(position).toString();
// 進行相應操作
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// 當沒有選擇任何選項時執行
}
});
在今天的文章中,我們詳細探討了 EditText 與 Spinner 這兩個常用元件的基本用法與配置技巧。透過這些範例和解說,我們能更靈活地運用這些元件來實現更複雜的應用需求。在接下來的日子裡,將繼續深入介紹更多的 Android 元件與技巧,敬請期待!