博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安卓高级组件-----图像切换器
阅读量:5145 次
发布时间:2019-06-13

本文共 2267 字,大约阅读时间需要 7 分钟。

        安卓图像切换器<ImageSwitch>是一种能够实现图像序列播放的组件,类似于“windows照片查看器”点击左右按钮实现按顺序查看照片。ImageSwitch实际上是继承了ViewSwitch,重写了ViewSwitch的showNext() showprevious()两个方法,这使得查看上下某张图片变得十分简单。

        ImageSwitch提供了一个ViewFactory接口,ViewFactory生成的View组件必须是ImageView。进行图片切换时,只要调用setImageResource(int resid) 方法更换图片。

图片切换器的实现:

1.新建工程,布局中放入ImageSwitch组件和两个按钮

2.在主活动创建一个图像id数组和图像切换器对象还有按钮

private int[] image = new int[]{R.drawable.photo1,R.drawable.photo2,            R.drawable.photo3,R.drawable.photo4};              //图像数组        private int index = 0;             //下标        private ImageSwitcher is;         //切换器     private Button up,down;

3.获取组件实例化并设置ImageSwitch.setFactory()

is = (ImageSwitcher)findViewById(R.id.imageSwitcher1);                up = (Button)findViewById(R.id.button1);        down = (Button)findViewById(R.id.button2);        up.setOnClickListener(this);        down.setOnClickListener(this);                is.setFactory(new ViewFactory() {                        @Override            public View makeView() {                ImageView imageView = new ImageView(MainActivity.this);                imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);                                                return imageView;            }        });        is.setImageResource(image[index]);    }

4.改按钮加监听,监听接口在Activity实现。此处注意,监听事件加上以后,获取的是点击的View组件id,通过switch判断点击的按钮是上一张还是下一张的按钮。

其实,监听接口使用的是View的监听接口,返回的对象是View,通过View.getId()获取

up.setOnClickListener(this);        down.setOnClickListener(this);    public void onClick(View v) {                switch(v.getId()){                case R.id.button1:                        if(index > 0){                index --;            }else {                index = image.length - 1;            }            is.setImageResource(image[index]);break;                    case R.id.button2:            if(index == image.length - 1){                index = 0;            }else {                index ++;            }            is.setImageResource(image[index]);break;                    }            }

运行效果:

总结:我们主Activity实现的View的接口, public void onClick(View v) {

},在这个方法里面我们队v进行判断,反应了安卓组件是继承自View类。

 

转载于:https://www.cnblogs.com/divingpig/p/6493591.html

你可能感兴趣的文章
[Usaco2007 Jan]Running贝茜的晨练计划
查看>>
[BZOJ1708][Usaco2007 Oct]Money奶牛的硬币
查看>>
洛谷 P2626 斐波那契数列(升级版)
查看>>
codevs 1814 最长链
查看>>
微信小程序从零开始开发步骤(八)引入框架WeUI
查看>>
linux第一篇
查看>>
CentOS 6 端口白名单设置
查看>>
First Groovy
查看>>
tornado的ORM
查看>>
国外较好的IT网站
查看>>
bat脚本的写法
查看>>
composer update/require slow when enable XDebug in CLI environment
查看>>
iOS-沙盒目录
查看>>
对用户输入内容进行字数提示功能
查看>>
软件测试基础(第一阶段)
查看>>
2016级算法第二次上机-D.Bamboo的饼干
查看>>
#阿里云#云服务器部署可道云(KodExplorer)
查看>>
关于Mac上的开发工具
查看>>
Codeforces Round #288 (Div. 2)
查看>>
创业,首先你得讲好一个故事
查看>>