Android Studio 下拉式選單 Spinner 教學
如果你想做一個選單,下拉式選單 Spinner是一個很好的工具
例如:
您想吃什麼呢?
有這些選項提供使用者選擇[魯肉飯, 控肉飯, 雞排飯, 炸醬麵, 水餃],
但是使用者只能選一個選項, 這就是一個Spinner的應用了。
程式碼
建立一個Spinner有兩種方式
第一種
可以從程式碼內部直接建立, 不需要在XML建立任何元件。
並且加入[魯肉飯, 控肉飯, 雞排飯, 炸醬麵, 水餃]為選項
MainActivity.java
執行畫面
按下前
按下後
第二種
執行效果跟第一種是一樣的
但由於對於程式碼的管理
通常會使用第二種
首先至activity_main.xml加入Spinner
activity_main.xml
在切換至MainActivity.java設定選單選項
MainActivity.java
執行畫面
按下前
按下後
事件
要加入事件,會透過 Spinner 本身提供的 setOnItemSelectedListener 的方式來使用
在MainActivity.java加入事件
並在onItemSelected 加入要做的事
透過Toast 顯示選擇了哪個選項
想知道點了哪個選項就要取用onItemSelected裡的參數position
lunch[position] 來取的陣列的第幾個選項
MainActivity.java
執行畫面
以上就是簡單的介紹了Spinner基本操作了。
例如:
您想吃什麼呢?
有這些選項提供使用者選擇[魯肉飯, 控肉飯, 雞排飯, 炸醬麵, 水餃],
但是使用者只能選一個選項, 這就是一個Spinner的應用了。
程式碼
建立一個Spinner有兩種方式
第一種
可以從程式碼內部直接建立, 不需要在XML建立任何元件。
並且加入[魯肉飯, 控肉飯, 雞排飯, 炸醬麵, 水餃]為選項
MainActivity.java
LinearLayout linearlayout = (LinearLayout) findViewById(R.id.activity_main);
Spinner spinner = new Spinner(MainActivity.this);
final String[] lunch = {"魯肉飯", "控肉飯", "雞排飯", "炸醬麵", "水餃"};
ArrayAdapter<String> lunchList = new ArrayAdapter<>(MainActivity.this,
android.R.layout.simple_spinner_dropdown_item,
lunch);spinner.setAdapter(lunchList);
linearlayout.addView(spinner);
執行畫面
按下前
按下後
第二種
執行效果跟第一種是一樣的
但由於對於程式碼的管理
通常會使用第二種
首先至activity_main.xml加入Spinner
activity_main.xml
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
在切換至MainActivity.java設定選單選項
MainActivity.java
Spinner spinner = (Spinner)findViewById(R.id.spinner);
final String[] lunch = {"魯肉飯", "控肉飯", "雞排飯", "炸醬麵", "水餃"};
ArrayAdapter<String> lunchList = new ArrayAdapter<>(MainActivity.this,
android.R.layout.simple_spinner_dropdown_item,
lunch);spinner.setAdapter(lunchList);
執行畫面
按下前
按下後
要加入事件,會透過 Spinner 本身提供的 setOnItemSelectedListener 的方式來使用
在MainActivity.java加入事件
並在onItemSelected 加入要做的事
透過Toast 顯示選擇了哪個選項
想知道點了哪個選項就要取用onItemSelected裡的參數position
lunch[position] 來取的陣列的第幾個選項
MainActivity.java
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this, "您選擇了:" + lunch[position], Toast.LENGTH_SHORT).show();
} @Override
public void onNothingSelected(AdapterView<?> parent) {}
});
執行畫面
以上就是簡單的介紹了Spinner基本操作了。
留言
張貼留言