Android: Spinner trong Android
Spinner cho phép bạn chọn một mục từ menu thả xuống.
Ví dụ như menu như hình bên dưới được hiện ra khi bạn nhấn vào spinner:
VÍ DỤ SPINNER
Ví dụ
Ví dụ này sẽ hiển thị một danh mục các môn học, bạn có thể chọn một mục từ danh mục.
Sau đây là nội dung của file MainActivity.java:
package v1study.com.spinner; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.Toast; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener { Spinner spinner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); spinner = (Spinner) findViewById(R.id.spinner); spinner.setOnItemSelectedListener(this); ArrayList<String> courses = new ArrayList<String>(); courses.add("HTML5"); courses.add("CSS3"); courses.add("JavaScript"); courses.add("Bootstrap"); courses.add("jQuery"); courses.add("MySQLi"); courses.add("PHP"); //Tạo adapter ArrayAdapter<String> spinAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, courses); spinAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(spinAdapter); } @Override public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { String item = adapterView.getItemAtPosition(i).toString(); Toast.makeText(adapterView.getContext(), "Bạn đã chọn: " + item, Toast.LENGTH_LONG).show(); } @Override public void onNothingSelected(AdapterView<?> adapterView) { } }
Sửa đổi nội dung của file activity_main.xml thành như sau:
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Courses:" android:textColor="#F44336" android:textSize="24sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.05" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.565"/> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/app_name" android:textColor="#4CAF50" android:textSize="30sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.497" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.1"/> <ImageView android:id="@+id/textView" android:layout_width="170dp" android:layout_height="170dp" android:contentDescription="@string/logo_v1study" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.497" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.267" app:srcCompat="@drawable/logo_v1_regular"/> <Spinner android:id="@+id/spinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.619" tools:layout_editor_absoluteX="0dp"/> </androidx.constraintlayout.widget.ConstraintLayout>
Sửa đổi file strings.xml thành như sau:
<resources> <string name="app_name">SpinnerV1Study</string> <string name="logo_v1study">Logo V1Study</string> </resources>
Chạy ứng dụng:
Nếu bạn nhấp vào nút spinner sẽ xuất hiện menu như sau:
Và khi chọn một item thì sẽ xuất hiện như sau: