Spinner是一个列表选择框,相当于弹出一个菜单供用户进行选择。
Spinner继承AdapterView
Spinnet支持的XML的属性:
android:entries:使用数组资源设置该下拉列表框的列表项目
android:popupBackground:设置下拉列表框的背景色
(一般这两个比较常用一点)
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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="com.example.my.wuziqigame.Main5Activity"
android:background="@drawable/bg3"
>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/TextView5"
android:text="你选择的是:北京"
android:textColor="#00ffff"
android:textSize="40sp"
tools:layout_constraintTop_creator="1"
tools:layout_constraintRight_creator="1"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
app:layout_constraintRight_toRightOf="parent"
tools:layout_constraintLeft_creator="1"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Spinner
android:id="@+id/Spinner1"
android:layout_width="0dp"
android:layout_height="wrap_content"
tools:layout_constraintTop_creator="1"
tools:layout_constraintRight_creator="1"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginTop="230dp"
tools:layout_constraintLeft_creator="1"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent">
</Spinner>
</android.support.constraint.ConstraintLayout>
Spinner的点击事件使用onItemSelected
package com.example.my.wuziqigame;
import android.support.v7.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.TextView;
import java.util.ArrayList;
import java.util.List;
public class Main5Activity extends AppCompatActivity implements AdapterView.OnItemSelectedListener{
private Spinner spinner1;
private TextView textview5;
private List<String>detalist;
private ArrayAdapter<String>adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main5);
spinner1= (Spinner) findViewById(R.id.Spinner1);
textview5= (TextView) findViewById(R.id.TextView5);
detalist=new ArrayList<String>();
detalist.add("北京");
detalist.add("上海");
detalist.add("重庆");
detalist.add("四川");
detalist.add("云南");
adapter=new ArrayAdapter<String>(this,R.layout.support_simple_spinner_dropdown_item,detalist);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapter);
spinner1.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String str=adapter.getItem(position);
textview5.setText("你选择的是:"+str);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}