属性介绍:
android:entries="@array/spinner_array"//设置可选内容
android:spinnerMode="dropdown"//设置可选内容风格,有下拉和对话框两种,默认是下拉
android:popupBackground="#123456"//设置可选内容是对话框风格时背景颜色
android:prompt="@string/subjects_name"//设置选项列表标题,只有在选项展现模式是对话框时才有效,并且只能是引用内容
添加选项数据和动作案例
package com.example.studyzz;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
import android.os.Bundle;
public class MainActivity extends ActionBarActivity implements OnItemSelectedListener{
private Spinner spinner;
private String[] items;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner=(Spinner)findViewById(R.id.spinner);
spinner.setOnItemSelectedListener(this);
items=getResources().getStringArray(R.array.spinner_array);
/**
* 动态给Spinner添加选择内容
*/
/* 方式1:
* this:上下文
* R.layout.items1:布局文件,仅含有TextView
* items:数组(不可以直接添加R.array.spinner_array)
*
* ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,R.layout.items1,items);
*/
/* 方式2:
* this:上下文
* R.layout.items2:布局文件
* R.id.tv_items2:布局文件中TextView的Id
* items:数组(不可以直接添加R.array.spinner_array)
*
* ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, R.layout.items2, R.id.tv_items2, items);
* spinner.setAdapter(adapter);
*/
//方式3
ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource(this, R.array.spinner_array, R.layout.items1);
adapter.setDropDownViewResource(R.layout.items2);//设置下拉选项布局
spinner.setAdapter(adapter);
/**
* 添加事件
*/
}
@Override
/**
* @param parent
* @param view parent里面被点击的View
* @param position 被点击的View(view)在父View(parent)的位置
* @param 点击的选项的行id
*/
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
Toast.makeText(MainActivity.this,"position="+position+"\n"+"id="+id, 0).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
Toast.makeText(this, "onNothingSelected", 0).show();
}
}
至此,Spinner的基本用法介绍完毕。