Android开发讲义(第六章 Android高级界面编程)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android开发讲义
主讲人:
课程体系
Android开发环境的搭建 Android初级界面编程 事件处理 深入Activity Intent与IntentFilter Android高级界面编程 Android应用的资源
Android开发讲义
主讲人:杨锎
课程体系
图形与图象处理 Android数据存储技术与数据共享 Service与Broadcast Receiver Android网络应用 多媒体应用开发 OpenGL与3D应用开发 传感器应用开发
Android开发讲义
主讲人:杨锎
课程体系
GPS应用开发 Google Map服务 项目实战
主讲人:杨锎
Android开发讲义
第六章 Android高级界面编程
一. 高级界面组件 2. Spinner的功能和用法(暂略)
该组件实际是一个列表选择框,不过Android的列表选择框并不是需要 显示下拉列表的,而是相当于弹出一个菜单供用户选择。 该组件时ViewGroup的间接子类,因此它也可作为容器使用。
Android开发讲义
自动完成文本框(逻辑设计) 示例一 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(yout.main); AutoCompleteTextView autoEdit = (AutoCompleteTextView)findViewById(R.id.account); ArrayAdapter<String>adapter = new ArrayAdapter<String>(this, yout.simple_dropdown_item_1line,users); 创建适配器 autoEdit.setAdapter(adapter); }
Android开发讲义
进度条(逻辑设计) 示例三 new Thread(){ @Override public void run() { while(stutas<100){ stutas = doWork(); Message msg = new Message(); msg.what = 0x111; handle.sendMessage(msg); } } }.start(); private int doWork(){ data[hasData++] = (int)Math.random()*100; try{ Thread.sleep(100); } catch(Exception ex){ ex.printStackTrace(); } return hasData; }
主讲人:杨锎
Android开发讲义
自动完成文本框(页面设计) 示例一 <LinearLayout xmlns:android="/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_horizontal"> <AutoCompleteTextView android:id="@+id/account" android:layout_width="fill_parent" android:layout_height="wrap_content" android:dropDownHeight="wrap_content" android:hint="请输入账号" android:clickable="true" android:completionThreshold="1"/> </LinearLayout>
第六章 Android高级界面编程
一. 高级界面组件 4. 进度条的功能和用法
进度条通常用于向用户显示某个耗时操作的百分比。进度条可以动态地显示 进度,因此避免长时间地执行某个耗时操作时,让用户感觉程序失去了响应 从而更好地提高用户界面的友好性。 @android:style/Widget.ProgressBar.Horizontal:水平进度条 @android:style/Widget.ProgressBar.Inverse:不断跳跃旋转画面的进度条 @android:style/rge:大进度条 @android:style/rge.Inverse:不断跳跃旋转画面的 大进度条 @android:style/Widget.ProgressBar.Small:小进度条 @android:style/Widget.ProgressBar.Small.Inverse:不断跳跃旋转画面的 小进度条
主讲人:杨锎
Android开发讲义
第六章 Android高级界面编程
一. 高级界面组件 3. 日期、时间选择器(DatePicker和TimePicker)的功能 和用法
DatePicker供用户选择日期,TimePicker供用户选择时间,这两个控件 在FrameLayout的基础上提供了一些方法来获取当前用户所选择的日期、 时间; DatePicker –OnDateChangedListener:获取用户选择的日期。 TimePicker –OnTimeChangedListener:获取用户选择的时间。
主讲人:杨锎
Android开发讲义
日期、时间选择器(页面设计) 示例二 <LinearLayout xmlns:android="/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_horizontal"> <TextView android:id="@+id/txt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="日历控件"/> <DatePicker android:id="@+id/date" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TimePicker android:id="@+id/time" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <EditText android:id="@+id/show" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout>
Android开发讲义
本章要点
高级界面组件 对话框 消息提示 菜单
主讲人:杨锎
Android开发讲义
第六章 Android高级界面编程
一. 高级界面组件 1. 自动完成文本框的功能和用法
自动完成文本框(AutoCompleteTextView)从EditText派生而出,实际上它是 一个文本编辑框,但它比普通编辑框多了一个功能:当用户输入一定字符 之后,自动完成文本框会显示一个下拉菜单,供用户从中选择,当用户选 择某个菜单项之后,AutoCompleteTextView按用户选择自动填充该文本框 使用AutoCompleteTextView很简单,只要为它设置一个Adapter,该 Adapter封装了AutoCompleteTextView预设的提示文本。
Android开发讲义
进度条(逻辑设计) 示例三 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(yout.main); final ProgressBar bar = (ProgressBar)findViewById(R.id.bar); final Handler handle = new Handler(){ public void handleMessage(Message msg) { if(msg.what==0x111){ bar.setProgress(status); } } }; }
主讲人:杨锎 Android开发讲义
进度条(页面设计) 示例三 <LinearLayout xmlns:android="/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_horizontal"> <TextView android:id="@+id/txt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="任务完成的进度"/> <ProgressBar android:id="@+id/bar" android:layout_width="fill_" android:layout_height="wrap_content" android:max="100" style="@android:style/Widget.ProgressBar.Horizontal"/> </LinearLayout>
Android开发讲义
日期、时间选择器(逻辑设计) 示例二 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(yout.main); DatePicker datePicker = (DatePicker)findViewById(R.id.date); TimePicker timePicker = (TimePicker)findViewById(R.id.time); Calendar calendar = Calendar.getInstance(); year = calendar.get(Calendar.YEAR); month = calendar.get(Calendar.MONTH); date = calendar.get(Calendar.DATE); hour = calendar.get(Calendar.HOUR); minute = calendar.get(Calendar.MINUTE); datePicker.init(year, month, date, new OnDateChangedListener() { public void onDateChanged(DatePicker view, int year, int month, int date) { DemoActivity.this.year = year; DemoActivity.this.month = month; DemoActivity.this.date = date; setDate(year,month,date,hour,minute); } }); timePicker.setOnTimeChangedListener(new OnTimeChangedListener() { public void onTimeChanged(TimePicker view, int hour, int minute) { Android开发讲义 DemoActivity.this.hour = hour;
主讲人:
课程体系
Android开发环境的搭建 Android初级界面编程 事件处理 深入Activity Intent与IntentFilter Android高级界面编程 Android应用的资源
Android开发讲义
主讲人:杨锎
课程体系
图形与图象处理 Android数据存储技术与数据共享 Service与Broadcast Receiver Android网络应用 多媒体应用开发 OpenGL与3D应用开发 传感器应用开发
Android开发讲义
主讲人:杨锎
课程体系
GPS应用开发 Google Map服务 项目实战
主讲人:杨锎
Android开发讲义
第六章 Android高级界面编程
一. 高级界面组件 2. Spinner的功能和用法(暂略)
该组件实际是一个列表选择框,不过Android的列表选择框并不是需要 显示下拉列表的,而是相当于弹出一个菜单供用户选择。 该组件时ViewGroup的间接子类,因此它也可作为容器使用。
Android开发讲义
自动完成文本框(逻辑设计) 示例一 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(yout.main); AutoCompleteTextView autoEdit = (AutoCompleteTextView)findViewById(R.id.account); ArrayAdapter<String>adapter = new ArrayAdapter<String>(this, yout.simple_dropdown_item_1line,users); 创建适配器 autoEdit.setAdapter(adapter); }
Android开发讲义
进度条(逻辑设计) 示例三 new Thread(){ @Override public void run() { while(stutas<100){ stutas = doWork(); Message msg = new Message(); msg.what = 0x111; handle.sendMessage(msg); } } }.start(); private int doWork(){ data[hasData++] = (int)Math.random()*100; try{ Thread.sleep(100); } catch(Exception ex){ ex.printStackTrace(); } return hasData; }
主讲人:杨锎
Android开发讲义
自动完成文本框(页面设计) 示例一 <LinearLayout xmlns:android="/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_horizontal"> <AutoCompleteTextView android:id="@+id/account" android:layout_width="fill_parent" android:layout_height="wrap_content" android:dropDownHeight="wrap_content" android:hint="请输入账号" android:clickable="true" android:completionThreshold="1"/> </LinearLayout>
第六章 Android高级界面编程
一. 高级界面组件 4. 进度条的功能和用法
进度条通常用于向用户显示某个耗时操作的百分比。进度条可以动态地显示 进度,因此避免长时间地执行某个耗时操作时,让用户感觉程序失去了响应 从而更好地提高用户界面的友好性。 @android:style/Widget.ProgressBar.Horizontal:水平进度条 @android:style/Widget.ProgressBar.Inverse:不断跳跃旋转画面的进度条 @android:style/rge:大进度条 @android:style/rge.Inverse:不断跳跃旋转画面的 大进度条 @android:style/Widget.ProgressBar.Small:小进度条 @android:style/Widget.ProgressBar.Small.Inverse:不断跳跃旋转画面的 小进度条
主讲人:杨锎
Android开发讲义
第六章 Android高级界面编程
一. 高级界面组件 3. 日期、时间选择器(DatePicker和TimePicker)的功能 和用法
DatePicker供用户选择日期,TimePicker供用户选择时间,这两个控件 在FrameLayout的基础上提供了一些方法来获取当前用户所选择的日期、 时间; DatePicker –OnDateChangedListener:获取用户选择的日期。 TimePicker –OnTimeChangedListener:获取用户选择的时间。
主讲人:杨锎
Android开发讲义
日期、时间选择器(页面设计) 示例二 <LinearLayout xmlns:android="/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_horizontal"> <TextView android:id="@+id/txt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="日历控件"/> <DatePicker android:id="@+id/date" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TimePicker android:id="@+id/time" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <EditText android:id="@+id/show" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout>
Android开发讲义
本章要点
高级界面组件 对话框 消息提示 菜单
主讲人:杨锎
Android开发讲义
第六章 Android高级界面编程
一. 高级界面组件 1. 自动完成文本框的功能和用法
自动完成文本框(AutoCompleteTextView)从EditText派生而出,实际上它是 一个文本编辑框,但它比普通编辑框多了一个功能:当用户输入一定字符 之后,自动完成文本框会显示一个下拉菜单,供用户从中选择,当用户选 择某个菜单项之后,AutoCompleteTextView按用户选择自动填充该文本框 使用AutoCompleteTextView很简单,只要为它设置一个Adapter,该 Adapter封装了AutoCompleteTextView预设的提示文本。
Android开发讲义
进度条(逻辑设计) 示例三 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(yout.main); final ProgressBar bar = (ProgressBar)findViewById(R.id.bar); final Handler handle = new Handler(){ public void handleMessage(Message msg) { if(msg.what==0x111){ bar.setProgress(status); } } }; }
主讲人:杨锎 Android开发讲义
进度条(页面设计) 示例三 <LinearLayout xmlns:android="/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_horizontal"> <TextView android:id="@+id/txt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="任务完成的进度"/> <ProgressBar android:id="@+id/bar" android:layout_width="fill_" android:layout_height="wrap_content" android:max="100" style="@android:style/Widget.ProgressBar.Horizontal"/> </LinearLayout>
Android开发讲义
日期、时间选择器(逻辑设计) 示例二 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(yout.main); DatePicker datePicker = (DatePicker)findViewById(R.id.date); TimePicker timePicker = (TimePicker)findViewById(R.id.time); Calendar calendar = Calendar.getInstance(); year = calendar.get(Calendar.YEAR); month = calendar.get(Calendar.MONTH); date = calendar.get(Calendar.DATE); hour = calendar.get(Calendar.HOUR); minute = calendar.get(Calendar.MINUTE); datePicker.init(year, month, date, new OnDateChangedListener() { public void onDateChanged(DatePicker view, int year, int month, int date) { DemoActivity.this.year = year; DemoActivity.this.month = month; DemoActivity.this.date = date; setDate(year,month,date,hour,minute); } }); timePicker.setOnTimeChangedListener(new OnTimeChangedListener() { public void onTimeChanged(TimePicker view, int hour, int minute) { Android开发讲义 DemoActivity.this.hour = hour;