iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0
Mobile Development

Android Studio 30天學習系列 第 17

Android Studio 30天學習-DAY17_下拉式選單Spinner

  • 分享至 

  • xImage
  •  

Spinner

Spinner是一個Android Studio內建的一個下拉式選單功能元件,最常見是在網購選擇數量的時候會用到這個功能,下方先放上成果影像。

創建spinner元件

在XML畫面上新增一個元件Spinner

    <Spinner
        android:id="@+id/quantityspinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toBottomOf="@+id/productname"
        tools:ignore="MissingConstraints" />

文字陣列撰寫方式

  1. 到下圖的資料夾找到strings.xml檔案
  2. 接著新增自己想呈現的列表,我這邊是想呈現勾選數量,
<string-array name="quantity">
        <item>1</item>
        <item>2</item>
        <item>3</item>
        <item>4</item>
        <item>5</item>
        <item>6</item>
        <item>7</item>
        <item>8</item>
        <item>9</item>
        <item>10</item>
        <item>11</item>
        <item>12</item>
        <item>13</item>
    </string-array>
  1. 另外一種也可以直接在Java程式中新增陣列。
quantity = new String[] { "請選擇數量", "1", "2", "3","4","5","6","7","8","9","10","11" };

Java程式

  1. 在外部新增陣列的程式碼
        quantityspinner = findViewById (R.id.quantityspinner);

        quantityspinner = (Spinner)findViewById(R.id.quantityspinner);

        ArrayAdapter<CharSequence> adapter;
        adapter = ArrayAdapter.createFromResource(this,
                R.array.quantity,
                android.R.layout.simple_spinner_dropdown_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        quantityspinner.setAdapter(adapter);

  1. 直接在程式碼新增陣列的程式碼
        //Spinner創建
        quantityspinner = findViewById (R.id.quantityspinner);

        quantity = new String[] { "請選擇數量", "1", "2", "3","4","5","6","7","8","9","10","11" };

        quantityspinner = (Spinner)findViewById(R.id.quantityspinner);

        ArrayAdapter<CharSequence> adapter = new ArrayAdapter<> (this, android.R.layout.simple_spinner_dropdown_item,
                quantity);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        quantityspinner.setAdapter(adapter);

結果顯示

  1. 初始畫面
  2. 自己就有畫面捲動的功能,當數量超過範圍時會有捲動效果。

以上是今天的Spinner內容。


上一篇
Android Studio 30天學習-DAY16_Button自定義外觀設定
下一篇
Android Studio 30天學習-DAY18_日期選擇功能_Calendar
系列文
Android Studio 30天學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言