资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第四章 Android UI编程 (三),本章目标,单选、复选、时间控件的使用 进度条和拖动条的使用 列表控件以及列表适配器 理解View与数据的适配器接口的关系 Android对话框的使用 切换卡TabWidget的使用 选项菜单的使用 掌握Android 窗口属性和控制,单选组件RadioGroup/RadioButton,在布局文件中将RadioButton包含在RadioGroup中 RadioGroup中的onCheckedChangeListener监听变化看示例:ViewsDemo项目:com.great.views.RadioButton_RadioGroup_Demo1.java,示例:RadioButton,在布局配置文件的片段,示例:RadioButton续,在Activity代码中片段 rb1 = (RadioButton)this.findViewById(R.id.rb1); rb2 = (RadioButton)this.findViewById(R.id.rb2); rg = (RadioGroup)this.findViewById(R.id.rg); rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() Override public void onCheckedChanged(RadioGroup rg, int checkId) / TODO Auto-generated method stub if(checkId=rb1.getId()System.out.println(rb1.getText(); elseSystem.out.println(rb2.getText(); );,复选框CheckBox,onCheckedChangeListener(CompoundButton buttonView,boolean isChecked)监听每个复选项 buttonView是被点击的选项 isChecked表示是否被打钩看示例:ViewsDemo项目:com.great.views.CheckBoxDemo1.java,时间DatePicker/TimePicker,DatePicker 的使用步骤 创建DatePicker控件(配置文件或new) 得到Calender.getInstance获得日历对象 对DatePicker对象进行初始化 mDatePicker.init(c.get(Calender.YEAR), c.get(Calender.MONTH), c.get(Calender.DAYOFMONTH),new DatePicker.onDateChangedListener(); DatePickerDialog 为日期对话框 构造函数: DatePickerDialog(Context context, OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth) 显示对话框:Show() TimePicker 的使用步骤 创建TimePicker控件(配置文件或new) 常用方法: setIs24HourView、 setCurrentHour、 setCurrentMinute TimePickerDialog 为时间对话框 构造函数:TimePickerDialog(Context context, OnTimeSetListener callBack, int hourOfDay, int minute, boolean is24HourView) 显示对话框:Show() 看示例:ViewsDemo项目:com.great.views.DatePicker_TimePicker_Demo1.java,DatePicker 示例,DatePicker dpTime = (DatePicker) this.findViewById(R.id.dpTime);Calendar c = Calendar.getInstance();dpTime.init(c.get(Calendar.YEAR), c.get(Calendar.MONTH),c.get(Calendar.DAY_OF_MONTH),new DatePicker.OnDateChangedListener() Override public void onDateChanged(DatePicker dp, int year, int month, int dayofmonth) StringBuilder sb = new StringBuilder(); sb.append(year); sb.append(“-“); sb.append(month); sb.append(“-“); sb.append(dayofmonth); System.out.println(sb); );,其他时间控件,AnalogClock 模拟钟(带表盘的那种)这是一个带有时针和分针的模拟时钟控件 DigitalClock 数字钟(电子表的那种)看示例:ViewsDemo项目:com.great.views.AnalogClock_DigitalClock_Demo1.java,列表视图ListView,列表视图控件是对数据进行列表显示 需要如下三个组件构成: 控件本身 实现ListAdapter接口的数据提供者 每个列表Item的布局文件,ListAdapter接口,是绑定Data和ListView的适配器,是一个接口 实现ListAdapter接口的类 BaseAdapter 实现了ListAdapter和SpinnerAdapter的接口,并提供每个itemview的生成,即实现View getView(int position, View convertView, ViewGroup parent) ArrayAdapter 数组与ListView的接口 SimpleAdapter ArrayList和 ListView的桥梁,ArrayList中每一个元素都是Map类型,示例:ArrayAdapter,代码文件: String item = “aaa“,“bbb“,“ccc“; ListView lv = this.findViewById(R.id.lv); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,item ); lv.setAdapter(adapter);lv.setOnItemClickListener(new AdapterView.OnItemClickListener() Override public void onItemClick(AdapterView av, View view, int seq, long arg3) MainActivity.this.display(itemseq); 看示例:ViewsDemo项目:com.great.views.ListView_ArrayAdapter_Demo1.java,示例:SimpleAdapter,代码文件中:lv = (ListView) this.findViewById(R.id.lv); ArrayList listContent= new ArrayList(); Map map; for(int i=0;i();(HashMap)map).put(“aa“, “user“+String.valueOf(i);(HashMap)map).put(“bb“, “item“+String.valueOf(i);listContent.add(map); SimpleAdapter adapter = new SimpleAdapter(this, listContent, R.layout.listitem, new String“aa“,“bb“, new intR.id.tv1,R.id.tv2); lv.setAdapter(adapter);看示例:ViewsDemo项目: com.great.views.ListView_SimpleAdapter_Demo1.java,示例:SimpleAdapter续,/布局资源文件listitem.xml,自定义适配器,private class GridItemAdapter extends BaseAdapter private Context context; private List resInfo; /构造函数 public GridItemAdapter(Context c,List res) context = c; resInfo = res; Override public View getView(int position, View convertView, ViewGroup parent) View convertView = LayoutInflater.from(context) .inflate(R.layout.application_layout, null); return convertView; ,下拉列表Spinner,通过ArrayAdapter将ArrayList与Spinner联系起来 将用户要选择的内容显示在TextView 显示的布局:自定义或系统定义R.layout.simple_spinner_item setDropDownViewResource设置下拉的view显示 setOnItemSelectedListener设置监听器来监听用户选择的变化 通过监听方法带过来的ItemView.setVisibility方法设置当前选中的项 看示例:ViewsDemo项目: com.great.views.SpinnerDemo1.java com.great.views.SpinnerDemo2.java com.great.views.SpinnerDemo3.java,拖动条 SeekBar,拖动条要被用户控制,设置监听器SeekBar.OnSeekBarChangeListener 监听器接口要求实现如下三个方法: onProgressChanged 数据改变时 获取拖动条当前值 onStartTrackingTouch 开始拖动 onStopTrackingTouch 停止拖动看示例:ViewsDemo项目: com.great.views.SeekBar_Demo1.java,进度条ProcessBar,系统提供两种的进度条样式: 长形progressBarStyleHorizontal 圆形progressBarStyleLarge “?android:attr/ progressBarStyleLarge”进行引用 主要方法 setMax:进度条最大值 setProgress:进度条当前值 setVisibility:设置可见性看示例:ViewsDemo项目: com.great.views.ProgressBar_Demo1.java com.great.views.ProgressBar_Demo2.java,对话框Dialog属性,通过内嵌类AlertDialog.Builder来创建 create():创建对话框 setTitle():设置标题 setIcon():设置图标 setMessage():设置提示信息 setItems():设置一个列表 setSingleChoiceItems():对话框单选列表 setMultiChoiceItems():对话框多选列表 setView():设置自定义的对话框UI setPositiveButton():设置确认yes按钮 setNegativeButton():设置no按钮看示例:ViewsDemo项目: com.great.views.DialogDemo1.java,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号