Spinner用法小结
2016-01-28 21:20
176 查看
1、从一个Spinner例子来分析
1、布局XML文件
只有一个简单的TextView和Spinner。2、源码
public class MainActivity extends Activity { private Spinner spinner; private TextView mtext; private ArrayAdapter<CharSequence> adapter; private static final String[] city = {"北京","上海","广州","深圳"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mtext = (TextView) findViewById(R.id.textView); spinner=(Spinner)this.findViewById(R.id.spinner); //将内容与ArrayAdapter连接起来 。R.layout.spinnerlayout为自定义形式。 adapter=ArrayAdapter.createFromResource(this,R.array.cities,R.layout.spinnerlayout); //设置下拉列表的风格 adapter.setDropDownViewResource(R.layout.spinnerlayout); //将adapter 添加到spinner中 spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new SpinnerXMLSelectedListener()); } //spinner 监听事件 class SpinnerXMLSelectedListener implements OnItemSelectedListener{ public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long arg3) { mtext.setText("居住地为:"+adapter.getItem(position)); } public void onNothingSelected(AdapterView<?> arg0) { } }
3、资源内容
<?xml version="1.0" encoding="utf-8"?> <resources> <string name = "app_name">Spinner</string> <string name = "action_settings"> settings</string> <string name = "spin_prompt"> 请选择城市</string> <string-array name = "cities"> <item>北京</item> <item>上海</item> <item>广州</item> <item>深圳</item> </string-array> </resources>
4、自定义的Spinner显示样式和下拉UI样式(共用一个)
<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="12sp" android:textColor="#FF8B1500" android:gravity="center" />
2、代码分析
1、使用数组填充Spinner数据:
如果使用数组填充的话,原文中:adapter=ArrayAdapter.createFromResource(this,R.array.cities,R.layout.spinnerlayout);
替换为:
adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,city);
R.layout.simple_spinner_item是安卓系统自带的spinner样式。
类似的,
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)中simple_spinner_dropdown_item是android系统自带下拉的样式。
2、Spinner 用法和几个特殊属性
1、获取Spinner选中文本
mySpinner.getSelectedItem().toString()或者通过对应的adapter的getItem(position)方法获取2、特殊属性
spinnerMode=dropdown时,为下拉模式,默认为此模式。spinnerMode=dialog时,会在界面中间弹出 。
android:prompt=”@string/XXX” 。该属性定义弹出框的标题,只有在spinnerMode=dialog时才起作用。
android:popupBackground=”#f0000000”,可以去除spinner的默认黑边
android:dropDownVerticalOffset和android:dropDownHorizontalOffset都是改变下拉框位置的。
相关文章推荐
- java.lang.OutOfMemoryError : Java heap space
- Ubuntu上安装MySQL并配置远程登录
- 将博客搬至CSDN
- CoreSpotlight(简介)
- 分布式与集群
- CSSearchableIndex
- 大二上java结课实验:模仿炸弹人的小游戏
- CSSearchableItem
- vijos P1134 矩形覆盖 题解
- Codeforces edu 6 ABCDEF
- Centos6.5 网络配置
- 【NYOJ】[64]鸡兔同笼
- Java DatagramSocket(UDP)要注意的问题
- 判断移动网络是否连接可用!
- CSSearchableItemAttributeSet
- block全面分析
- struts2接收参数的方法
- 帮助命令
- vijos P1131 最小公倍数和最大公约数问题 题解
- [Ajax-相濡以沫,不如相忘于江湖] Ajax核心: XMLHttpRequest对象