Spinner其实是一个列表选择框,不过Android的列表选择框并不需要显示下拉列表,而是相当于弹出一个菜单供用户选择。

Spinner与Gallery都继承了AbsSpinner,AbsSpinner继承了AdapterView,因此他也表现出AdapterView的特征:只要为AdapterView提供Adapter即可。

android:entries属性并不是Spinner定义的,而不是AbsSpinner中定义的,因此Gallery(继承了AbsSpinner)也支持该XML属性。

如果开发者使用Spinner时已经可以确定列表选择框里的列表项,则完全不需要编写代码,只要为Spinner指定android:entries属性即可让Spinner正常工作;如果程序需要在程序运行时动态决定Spinner的列表项,或者程序需要对Spinner的列表项进行定制,则可使用Adapter提供列表项。

如下界面布局文件中定义了两个Spinner组件,其中一个Spinner组件指定了android:entries属性,因此需要在Activity中为他设置Adapter。

Spinner样式大全

  关于spinner控件有很多特殊的样式甚至是表现的很夸张的样式,这里就仅仅通过更换系统自带的xml样式来试验各种spinner样式效果。

  首先在工程里创建最简单的spinner:

  需要更换的地方有两处:

  ArrayAdapter《 String》 adapter =

  new ArrayAdapter《 String》( this,

  android.R.layout.simple_spinner_item);

  这里面的第二个参数是android.R系统自带的xml样式,我们更换这个时就会看到生成的spinner的直观样式如下:

  

android Spinner默认不显示 android spinner样式_android

  

android Spinner默认不显示 android spinner样式_xml_02

  

android Spinner默认不显示 android spinner样式_xml_03

  

android Spinner默认不显示 android spinner样式_android_04

  spinner的基础用法

  一、设置数据源

  

android Spinner默认不显示 android spinner样式_Android_05

  二、绑定数据源

  

android Spinner默认不显示 android spinner样式_xml_06

  三、设置选中的事件

  

android Spinner默认不显示 android spinner样式_Android_07

  spinner用法详解_Android为例

  一、简介

  显示一个子布局让用户选择其中一项,这些项目是来自跟当前视图联系的适配器。具备两种视图模式,一种是下拉框形式(Dropdown),另一种是弹出对话框模式(Dialog)。

  二、XML属性

  

android Spinner默认不显示 android spinner样式_Android_08

  三、构造方法

  

android Spinner默认不显示 android spinner样式_xml_09

  四、案例:选择城市

  

android Spinner默认不显示 android spinner样式_Android_10

  MainActivity.java

  

android Spinner默认不显示 android spinner样式_Android_11

  

android Spinner默认不显示 android spinner样式_xml_12

  activity_main.xml

  

android Spinner默认不显示 android spinner样式_android_13