Android Studio 下拉式選單 Spinner 教學

如果你想做一個選單,下拉式選單 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基本操作了。

留言

這個網誌中的熱門文章

Android Studio 時間文字框 TextClock 教學

Android Studio 清單 ListView 教學

Android Studio 攔截通知欄訊息 看到訊息又不會被標記已讀