一、概述

    Spinner是一个每次只能选择所有项的一个项的控件。它的项来自于与之相关联的适配器中。

二、重要属性

    android:prompt:当Spinner对话框关闭时显示该提示

三、重要方法

    setPrompt(CharSequence prompt):设置当Spinner对话框关闭时显示的提示

    performClick():如果它被定义就调用此视图的OnClickListener

    setOnItemClickListener(AdapterView.OnItemClickListener l):当项被点击时调用

    onDetachedFromWindow():当Spinner脱离窗口时被调用

四、完整代码

public class SpinnerDemo extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.spinnerpage);

Spinner s1 = (Spinner) findViewById(R.id.spinnercolor);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.colors, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s1.setAdapter(adapter);
s1.setOnItemSelectedListener(
new OnItemSelectedListener() {
public void onItemSelected(
AdapterView<?> parent, View view, int position, long id) {
showToast("Spinner1: position=" + position + " id=" + id);
}

public void onNothingSelected(AdapterView<?> parent) {
showToast("Spinner1: unselected");
}
});

Spinner s2 = (Spinner) findViewById(R.id.spinnerplanet);
adapter = ArrayAdapter.createFromResource(this, R.array.planets,
android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s2.setAdapter(adapter);
s2.setOnItemSelectedListener(
new OnItemSelectedListener() {
public void onItemSelected(
AdapterView<?> parent, View view, int position, long id) {
showToast("Spinner2: position=" + position+1 + " id=" + id+1);
}

public void onNothingSelected(AdapterView<?> parent) {
showToast("Spinner2: unselected");
}
});
}

private void showToast(CharSequence msg) {
Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
}
}

//设置下拉列表的风格 simple_spinner_dropdown_item
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

可以自定义一个spinner的一个XML文件
在里面定义效果就好了

例子可以看一下frameworks style 文件夹里面的系统的XML是怎么配置的

更多相关文章

  1. App自动更新之通知栏下载
  2. Android中MPAndroidChart自定义绘制最高点标识的方法
  3. android Fragment与Activity交互,互相发数据(附图详解)
  4. Android探索之旅 | Android(安卓)Studio自定义文件类头
  5. Android定制ListView的界面(使用继承自ArrayAdapter的自定义适配
  6. 自定义View系列教程07--详解ViewGroup分发Touch事件
  7. 在android中使用OrmLite数据库框架
  8. 将support的包名转换成androidx的包名
  9. Android延长Toast的时间以及自定义Toast

随机推荐

  1. 【Android】Android用tabhost实现 界面切
  2. Android Audio 框架简读
  3. 禁止Android的StatusBar下拉
  4. [Android]手动触发OnClick事件
  5. Android 判断是否连接网络
  6. Activity的启动流程
  7. Android 音量增加减少按钮事件
  8. android调用系统的相机服务
  9. AIDL
  10. android--------Android Studio常见问题