iT邦幫忙

2024 iThome 鐵人賽

DAY 17
0

Spinner又稱為下拉式選單
它讓使用者可以從已定義裡的選項列表中選擇其中一項
當使用者點擊Spinner時,會往下顯示一個選單讓他們選擇其中某個項目,且在選取後會顯示在Spinner中
Spinner的第一個子項目會在執行程式後成為最先顯示的項目
這種元件很常會被使用到,如軟體裡常見的選擇自己的國家、性別等

下面是Spinner拉進Activity時的基本屬性

<Spinner
        android:id="@+id/spinner"
        android:layout_width="409dp"
        android:layout_height="wrap_content"
        tools:layout_editor_absoluteX="1dp"
        tools:layout_editor_absoluteY="151dp" />

Spinner有兩種方法去新增其中的子項目
1.透過strings.xml建立
先到res/values/strings.xml裡面建立子項目的資料
* 最初的strings.xml
https://ithelp.ithome.com.tw/upload/images/20240925/20168456fQtcvdITwb.png
* 加入性別(sex)的內容
https://ithelp.ithome.com.tw/upload/images/20240925/20168456jaUxunTo4a.png
接著利用xml檔裡spinner的entries屬性
將性別的項目加進spinner裡
android:entries="@array/sex"
* 完成的樣子
(有使用View變更背景顏色,方便辨識)
https://ithelp.ithome.com.tw/upload/images/20240925/20168456DBbXUyOAZn.png
* 子項目
https://ithelp.ithome.com.tw/upload/images/20240925/20168456iFrjqMU9vb.png

  1. 透過MainActivity新增
    1. 先設定變數
    private Spinner spinner;
    
    1. 將元件與變數綁定
    Spinner spinner = findViewById(R.id.spinner);
    
    1. 設定子項目的字串陣列內容
    String sex[]={"sex","Male (M)","Female (F)","Intersex","Personal"};
    
    1. 創建一個新的ArrayAdapter
    ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, sex);
    
    1. 設置下拉選單的樣式
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    
    1. ArrayAdapter綁定到Spinner
    spinner.setAdapter(adapter);
    
    這樣就可以執行了
    • 剛開始執行程式時的樣子
      https://ithelp.ithome.com.tw/upload/images/20240925/20168456XXDS6fQaKD.png
    • 點開來子項目的樣子
      https://ithelp.ithome.com.tw/upload/images/20240925/20168456J4Zc2FxrQO.png

今天就到這裡
下篇會介紹CheckBox


上一篇
[Day 16] SeekBar介紹
下一篇
[Day 18] CheckBox介紹
系列文
深入Android Java程式語言 - 打造我的行動應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言