Cho phép người dùng chọn một giá trị từ một tập hợp các giá trị cho trước. Spinner có thể được dùng theo 3 cách:

  • Kéo từ mục Containners của thanh công cụ Palette đặt vào giao diện và thay đổi các thuộc tính thông qua cửa sổ Attributes. Cách này được dùng trong ứng dụng BasicViews
  • Dùng mã XML với phần tử <Spinner />
  • Dùng mã Java bằng cách sử dụng lớp Spinner như ví dụ sau:

// tập hợp dữ liệu

List<String> lan_array =  new ArrayList<String>();

lan_array.add("VietNamese");

lan_array.add("English");

lan_array.add("French");

lan_array.add("Chinese");

//khởi tạo đối tượng ArrayAdapter dùng tập hợp dữ liệu và layout spinner mặc định

ArrayAdapter<String> adapter = new ArrayAdapter<String>(

this, android.R.layout.simple_spinner_item, lan_array);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

//khởi tạo đối tượng Spinner

Spinner spinLang = new Spinner(this);

//gán đối tượng adapter đến spinner

spinLang.setAdapter(adapter);

Trong ứng dụng BasicViews, thêm một TextView và một Spinner đến giao diện, điều chỉnh kích cỡ, thiết lập ràng buộc đến mainLayout và sắp xếp lại các views. Giao diện có thể như sau:

Thay đổi các thuộc tính cho TextView và Spinner như sau:

View Thuộc tính Giá trị
TextView txtLang @string/txtLan
Spinner

 

entries @array/lan_array
spinnerMode dropdown

 

Thêm các đoạn mã sau vào tập tin strings.xml:


<resources>
...

<string name="txtLan">Languages</string>
<string-array name="lan_array">
<item>VietNamese</item>
<item>English</item>
<item>French</item>
<item>Chinese</item>
</string-array>
</resources>

Giao diện lúc này:

Giá trị mặc định (như hình trên) của SpinnerVietNamese. Chúng ta có thể thay đổi giá trị từ Spinner bằng cách nhấp chuột vào dấu mũi tên bên phải:

Các views cơ bản và trong giao diện ứng dụng Android >