Androd UI学习之ImageSwitcher
上一节学习了Gallery,本节结合Gallery来学习ImageSwitcher。
先贴出最终的效果图:
逻辑部分代码:
public class ImageSwitcherActivity extends Activity
{private static ImageSwitcher mImageSwitcher;private static Gallery mGallery;private int[] images = {R.drawable.a, R.drawable.b,R.drawable.c, R.drawable.d,R.drawable.e, R.drawable.f,R.drawable.h};@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_imageswitcher);mImageSwitcher = (ImageSwitcher)findViewById(R.id.image_switcher);mGallery = (Gallery)findViewById(R.id.gallery);mImageSwitcher.setFactory(new MyViewFactory(this));//默认显示中间图片mImageSwitcher.setImageResource(images[images.length/2]);mGallery.setAdapter(new MyAdapter(this));mGallery.setSpacing(10);//默认显示中间图片mGallery.setSelection(images.length/2);//设置监听器,mGallery.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {// TODO Auto-generated method stubmImageSwitcher.setImageResource(images[position%images.length]);}});}class MyViewFactory implements ViewFactory{private Context context;public MyViewFactory(Context context){this.context = context;}@Overridepublic View makeView() {ImageView view = new ImageView(this.context);view.setBackgroundColor(0xFF000000);//设置显示位置view.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));return view;}}class MyAdapter extends BaseAdapter{private Context context;public MyAdapter(Context context){this.context = context;}@Overridepublic int getCount() {// 获取图片资源的总数//return images.length;return Integer.MAX_VALUE;}@Overridepublic Object getItem(int position) {// 获得图片当前位置return position;}@Overridepublic long getItemId(int position) {// 获得当前位置的图片IDreturn images[position];}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// 获得当前图片资源ImageView view = new ImageView(this.context);view.setImageResource(images[position%images.length]);view.setAdjustViewBounds(true);//设置图片的大小view.setLayoutParams(new Gallery.LayoutParams(100, 100));//view.setPadding(15, 10, 15, 10);return view;}}}
本示例可实现循环选择, 刚进来默认是中间的一张图片
布局文件如下:
<ImageSwitcher android:id="@+id/image_switcher"android:layout_width="fill_parent"android:layout_height="fill_parent"></ImageSwitcher><Gallery android:id="@+id/gallery"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_alignParentLeft="true"/>
ok。 运行的效果图就是上图所示。
Androd UI学习之ImageSwitcher相关推荐
- UI学习笔记---EasyUI panel插件使用---03
UI学习笔记---EasyUI panel插件使用---03 UI学习笔记---EasyUI panel插件使用---03 1.panel简单小例子 ------------------- 2.可以自 ...
- Ui学习笔记---EasyUI的EasyLoader组件源码分析
Ui学习笔记---EasyUI的EasyLoader组件源码分析 技术qq交流群:JavaDream:251572072 1.问题1:为什么只使用了dialog却加载了那么多的js http: ...
- Ui学习笔记---EasyUI的使用方法,EasyLoader组件使用
Ui学习笔记---EasyUI的使用方法,EasyLoader组件使用 技术qq交流群:CreDream:251572072 1.使用之前导入文件: 这里用jquery-easyui-1.2.6 ...
- Ui学习笔记---EasyUI的介绍
Ui学习笔记---EasyUI的介绍 -------------------------- 1.组织: a.EasyUI官方:http://www.jeasyui.com EasyUI是一 ...
- swift UI 学习 (一)
swift UI 学习 Swift UI 简介 SwiftUI 的特点是什么 1. 声明式语法 2. 拥有更直观的新设计工具 3. 为所有的苹果设备提供原生体验 SwiftUI 代码实例 Swift ...
- Element UI学习记录之布局
目录 Element UI学习记录之布局 一.Layout布局 二.Container布局容器 Element UI学习记录之布局 一.Layout布局 基本概念:一行通过分割为24栅格栏进行布局,如 ...
- 【12月原创】RT-thread - 柿饼UI学习心得分享
柿饼UI学习心得分享(2) 概述 介绍: Persimmon 是一套运行在RT-Thread嵌入式实时操作系统上的图形用户组件界面,用于提供图形界面的用户交互. 它采用C++语言编写,基于C语言实现的 ...
- 【UI学习】Android github开源项目,酷炫自定义控件(View)汇总
[UI学习]Android github开源项目,酷炫自定义控件(View)汇总 转载 2016年09月04日 23:23:15 3484 近期整理的比较酷炫并且我们会经常用到的custom vie ...
- UI设计要学什么,这份UI学习路线图告诉你
对于想要学习UI设计的人来说,学习路线是很重要的问题,因为只有有明确的规划和路线,加上好的方法,才能在学习的时候事半功倍,成为一名合格的UI设计师.下面,给大家分享一下UI学习路线. 预科:造型训练与 ...
- 学习UI设计要懂哪些内容?最新UI学习路线图告诉你
对于想要学习UI设计的人来说,学习路线是很重要的问题,因为只有有明确的规划和路线,加上好的方法,才能在学习的时候事半功倍,成为一名合格的UI设计师.下面,千锋小编就给大家分享一下UI学习路线. 预科: ...
最新文章
- POJ1276Cash Machine
- 拥有2000家门店,他如何晋升为服装界的新宠?
- 多表查询事务DCL权限管理
- Android 5.0 Lollipop介绍
- hive查看数据库里库的信息_hive 查看当前数据库
- 实现单服务器响应多客户机,对等网与客户机/服务器网络
- 在 vue 组件中查看 vuex 定义
- xml方式实现aop-通知的种类
- 项目Alpha冲刺Day4
- PHP经常使用正則表達式汇总
- Apollo进阶课程㉟丨Apollo ROS原理—4
- stringreader_Java StringReader markSupported()方法与示例
- Python基础语法和数据类型最全总结
- ubuntu使用VNC实现远程桌面
- python实现xml文件解析失败_Python实现灵活的xml文件解析
- 力克“中国智造”之道,亮相第七届工业数字化论坛
- Android开发——项目实例(一)迷你背单词软件
- 华为 荣耀 等手机解锁BootLoader
- 用excel表格解线性方程组
- 数据库学生学籍管理系统
热门文章
- python 【递归 及 二分法】
- linux第三版 网页链接
- JQuery原生js ——实现剪刀石头布小游戏
- [Django]模型提高部分--聚合(group by)和条件表达式+数据库函数
- Nginx服务器中的Socket切分,需要的朋友可以参考下
- 跟我一起学docker(14)--docker swarm的使用
- js jquery select 操作 获取值,选中选项,增加,修改,删除
- 工具使用-----Jmeter-脚本的录制
- 清除浮动的七种方式方法(实例代码讲解)
- 粤港澳湾区邮轮产业崛起 构建邮轮母港群尚需加强合作