Android中的菜单与提示框(中级).pdf
AndroidAndroid中的菜单与提示框中的菜单与提示框 Android平台手机应用开发技术培训 中级.第2讲 学习目标: 目标学员: 课程时长:45分钟 有Android开发基础的开发者或在校 计算机相关专业大学生 通过案例开发进一步掌握Android中布局 管理器的作用及使用方法 掌握Android中下拉列表Spinner的用法 掌握Android中标签页面的创建方法 软件功能分析软件功能分析 Android中按钮控件的使用 下拉列表控件的使用 标签页面的创建方法 课程目录课程目录 再谈Activity生命周期 软件功能分析 软件功能分析 AndroidAndroid中按钮控件的使用中按钮控件的使用 下拉列表控件的使用 标签页面的创建方法 课程目录课程目录 再谈Activity生命周期 Android中按钮的分类 Button 普通的按钮 ImageButton 带有图片的按钮 可以设置不同的点击就效果 ToggleButton 提供开、关的切换功能 Button的事件处理 获得Button控件对象 授权事件模型:事件源,监听器,注册监听 使用授权事件模型处理Button事件 Button button = (Button) this.findViewById(R.id.Button01); button.setOnClickListener(new View.OnClickListener() public void onClick(View v) / 被点击后的逻辑处理代码 ); ImageButton的事件处理 获得ImageButton控件对象 使用授权事件模型处理ImageButton事件 ImageButton imgButton = (ImageButton) findViewById(R.id.ImageButton01); imgButton.setOnTouchListener(new ImageButton.OnTouchListener() public boolean onTouch(View arg0, MotionEvent arg1) if (arg1.getAction() = MotionEvent.ACTION_DOWN) arg0.setBackgroundResource(R.drawable.item_slot_2); else if (arg1.getAction() = MotionEvent.ACTION_UP) arg0.setBackgroundResource(R.drawable.item_slot_1); return false; ); ToggleButton的事件处理 获得ToggleButton对象 使用授权事件模型处理事件 ToggleButton togButton = (ToggleButton)this.findViewById(R.id.ToggleButton01); togButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) Toast.makeText(MainActivity.this, isChecked + “, Toast.LENGTH_SHORT).show(); ); 软件功能分析 Android中按钮控件的使用 下拉列表控件的使用下拉列表控件的使用 标签页面的创建方法 课程目录课程目录 再谈Activity生命周期 Spinner控件概述 Android中的下拉列表 用户点击控件后回弹出所有待选项供选择 内部列表数据以单选形式存在 Spinner的添加方法 与ListView一样,需要由Adapter适配器提供列表数据 这里介绍ArrayAdapter的使用方法,用法同JokeListView中用法相同 ArrayAdapter的构造方法 给Spinner提供数据 public ArrayAdapter( Context context, int textViewResourceId, / 一个TextView布局 T objects / 需要显示的数据 ) public void setDropDownViewResource( int resource / 下拉列表的界面样式 ) Spinner的事件响应 获的Spinner对象 使用授权事件模型进行事件处理 Spinner spinner = (Spinner) findViewById(R.id.Spinner01); spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() public void onItemSelected(AdapterView adapterView, View view, int position, long id) / 选项被选中时触发该事件 public void onNothingSelected(AdapterView view) / 无选择(默认选项)时触发该事件 ); Spinner的相关属性及方法 prompt:设置下拉列表的标题栏内容 在xml布局文件中设置属性: 在代码中也可以设置: 获得用户选项内容 android:prompt=“string/app_name“ spinner.setPrompt(“颜色选择“); public void onItemSelected(AdapterView adapterView, View view, int position, long id) String itemContent = (String) adapterView.getItemAtPosition(position); Spinner的相关属性及方法 设置默认选项内容 设置背景颜色 设置背景图片 Android绝大多数控件都有上面两个方法 spinner.setSelection(2); spinner.setBackgroundColor(0xffff0000); spinner.setBackgroundResource(R.drawable.icon); 软件功能分析 Android中按钮控件的使用 下拉列表控件的使用 标签页面的创建方法标签页面的创建方法 课程目录课程目录 再谈Activity生命周期 什么是标签页面 用来在一个屏幕下分类显示多个不同页面 每个标签页各占一个,互不影响 每个标签页都可以有自己的控件、样式和布局方法 FrameLayout的使用方法 为Android中的布局管理器 其特点是内部的控件分层显示 不同层上的控件会相互覆盖 使用方法同LinearLayout相同 如何实现标签页面 定义标签页面的布局文件 定义TabActivity类的子类 获得TabHost实例 获得界面布局对象 增加页签 TabHost tabHost = getTabHost(); LayoutInflater.from(this).inflate(R.layout.setting_view, tabHost.getTabContentView(), true); tabHost.addTab(tabHost.newTabSpec(“tab1”) / 标签页的tag(id) .setIndicator(“tab1”) / 新标签页的标题名称 .setContent(R.id.view1) / 新标签页的界面 ); 为笑话大全增加“设置”界面 新建TabActivity的子类SettingView 重写SettingView的onCreate( )方法 在res/layout/新建界面布局文件setting_view.xml 在SettingView中填写创建标签页面的具体代码 在AndroidManifest.xml中声明SettingView 在JokeDetailView类中添加菜单显示和事件响应的代码来处理界面跳转 具体代码和运行后的效果演示 软件功能分析 Android中按钮控件的使用 下拉列表控件的使用 标签页面的创建方法 课程目录课程目录 再谈再谈ActivityActivity生命周期生命周期 Activity生命周期回顾 Activity的生命周期图 为笑话大全实现文字颜色更改功能 当在Spinner中选择具体的某个颜色后再次返回到笑话内容界面时,其文字颜 色要及时改变 需要如下步骤来实现: 获取Spinner当前被选中的颜色 在SettingView中定义整型变量对颜色值进行保存 在笑话内容界面(JokeDetailView)访问该颜色值 在笑话内容界面(JokeDetailView)的onResume( ) 中,获取用来显示 笑话 内容的TextView控件对象 为TextView对象设置相应的颜色 代码示例 总结 Android中三个按钮控件的使用及事件处理方法 Android中下拉列表控件Spinner的使用方法 Android中标签页面的实现方法 完成笑话大全软件的设置功能的添加 本课程到此结束,谢谢!