1.下拉菜单
在Web开发中,HTML提供了下拉列表的实现,就是使用<select>元素实现一个下拉列表,在其中每个下拉列表项使用<option>表示即可。这是在Web开发中一个必不可少的交互性组件,而在Android中的对应实现就是Spinner。
方法一:
以资源方式,静态展示 Spinner 选项:
<Spinner android:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/spinner2"android:entries="@array/spingarr"/>
数据文件:
<?xml version="1.0" encoding="utf-8"?> <resources><string-array name="spingarr"><item>北京</item> <item>上海</item> <item>广州</item> <item>深圳</item> </string-array> </resources>
用法 2 :
以代码方式,动态展示 Spinner 选项,用适配器给Spinner添加数据
package com.example.testspanner;import java.util.ArrayList; import java.util.List;import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.Spinner;public class MainActivity extends Activity { private Spinner spinner; private List<String> data_list; private ArrayAdapter<String> arr_adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.spinner);spinner = (Spinner) findViewById(R.id.spinner);//数据data_list = new ArrayList<String>();data_list.add("北京");data_list.add("上海");data_list.add("广州");data_list.add("深圳");//适配器arr_adapter= new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data_list);//设置样式arr_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//加载适配器spinner.setAdapter(arr_adapter);}}
布局文件增加:
<Spinner android:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/spinner"/>
2.日期选择器
btnChooseData.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {@Overridepublic void onDateSet(DatePicker datePicker, int i, int i1, int i2) {System.out.println(String.format("%d-%d-%d",i,i1,i2));}},2016,1,1).show();}});
点击按钮触发一个日历选择器。
3.日期选择器
btnChooseData.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {@Overridepublic void onTimeSet(TimePicker timePicker, int i, int i1) {System.out.println(String.format("%d:%d",i,i1));}},0,0,true).show();}});}
点击按钮触发一个时间选择器
4.单项选择
<RadioGroupandroid:layout_width="wrap_content"android:layout_height="wrap_content"><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="New RadioButton1"android:id="@+id/rba" /><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="New RadioButton2"android:id="@+id/rbb" /><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="New RadioButton3"android:id="@+id/rbc" /><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="New RadioButton4"android:id="@+id/rbd" /></RadioGroup>
如果要判断单选组里面哪个选项被选中:
System.out.println(rba.isChecked());
5.多项选择
只需要注意多选对象有一个方法 onCheckedChanged();