第四章 Android开发组件2

公司主营业务:成都网站建设、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出梁园免费做网站回馈大家。
- 列表类组件 - (1)ListView组件:以垂直列表的形式列出需要显示的列表项 - 相关属性: - a. android:divider 用于为列表视图设置分隔条,可以用颜色或者图片资源 - b. android:dividerHeight 设置分隔条的高度 - c. android:entries 通过数组资源为ListView指定列表项 - d. android:footerDividersEnabled 设置是否在footerView之前绘制分隔条,默认为true。 - e. android:headerDividersEnabled 设置是否在headerView之后绘制分隔条,默认为true。 - (2)ListView使用步骤: - a. 拖入一个ListView控件,高度改为match_parent - b. 新建一个布局xml文件,设定每行显示的样式 - c. 创建一个类MyAdapter继承BaseAdapter - getView()方法:设置每行数据显示及每行显示样式 - getCount()方法:显示的行数,当返回值为0时,getView()方法不会被调用,显示为空白 - d. 创建适配器对象 - MyAdapter adapter = new MyAdapter(); - e. 为ListView设置适配器 - listView.setAdapter(adapter); - f. 添加headview和footview(必须在设置适配器之前) - View headview = getLayoutInflater.inflate(R.layout.head,null); - View footview = getLayoutInflater.inflate(R.layout.foot,null); - listView.addHeadView(headview); - listView.addFootView(footview); - (3)ListView的优化 - 上下滑动会不断触发getview()方法 - 解决方法:复用行布局,减少控件查找 - //创建一个类,声明几个变量(变量类型和数量与布局xml文件中包含的控件一致) - class ViewHolder{ - View view1; - View view2; - ...... - } - //声明成员变量 - View inflate; - ViewHolder holder; - //优化 - if(convertView==null){ - //创建一个ViewHolder对象 - //得到布局转换器对象 - LayoutInflater inflater = getLayoutInflate(); - //将布局xml文件转换为布局对象 - inflate = inflater.inflate(R.layout.listItem,null); - //查找控件 - holder.view1 = inflate.findViewById(R.id.view1); - holder.view2 = inflate.findViewById(R.id.view2); - //设置一个标签 - infalte.setTag(holder); - }else{ - //替换、复用行布局 - inflate=convertView; - holder = (ViewHolder)inflate.getTag(); - } - //依据控件类型设置控件内容 - ...... - (3)数据更新 - 数据发生变化时,由适配器通知listview更新数据 - adapter.notifyDataSetChanged(); - (4)ListView的点击事件 - a. 设置点击监听 - listview.setOnItemClickListener(new OnItemClickListener){ - @Override - public void onItemClick(AdapterView> parent,View view,int position,long id){ - ...... - } - } - 备注:当行布局中存在抢占焦点的控件时(如Button),ListView的点击会失效 - 解决方式: - 在行布局中抢占焦点的控件上设置属性:android:focusable = "false" - 在行布局中设置让所有能抢占焦点的控件都不抢占焦点 - android:descendantFocusability = "blocksDescendants" - b. 设置长按点击监听 - listview.setOnItemLongClickListener(new OnItemLongClickListener){ - @Override - public void OnItemLongClick(AdapterView> parent,View view,int position,long id){ - ...... - } - } 
- Spinner组件:列表选择框相当于网页中的常见的下拉列表框 - getSelectedItem():获取列表选择框的选中值 - OnItemSelectedListener:设置列表项的选中事件监听。 - setDropDownViewResource():为适配器设置列表框下拉时的选项样式 
- Gallery组件:画廊视图,可按水平方向显示内容,并可用手指直接拖动图片移动,一般用来浏览 图片。通常用BaseAAdapter适配器为Grallery组件提供要显示的图片。 
- ImageSwitcher组件:图片切换器,用于实现类似于Windows下“Windows照片查看器”中的“上一 张”、“下一张”的功能。使用ImageSwitcher必须实现 ViewSwitcher.ViewFactory接口,通过makeView()方法创建用于显示图片的 ImageView对象。例如: - p_w_picpathSwitcher.setInAnimation(xxx);//设置淡入动画 - p_w_picpathSwitcher.setOutAnimation(xxx);//设置淡出动画 - p_w_picpathSwitcher.setFactory(new ViewFactoty(){ - @Override - public View makeView(){ - ImageView p_w_picpathView = new ImageView(MainActivity.this); - return p_w_picpathView; - } - }); - p_w_picpathSwitcher.setImageResource(xxx); //设置显示的图片 
网页题目:Android学习笔记—第四章Android开发组件2
网站链接:http://www.cqwzjz.cn/article/gdsjpd.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 