Android UI控件之ImageSwitcher实现图片切换效果

Android UI控件之ImageSwitcher实现图片切换效果,第1张

概述本文实例为大家分享了geSwitcher实现图片切换效果的具体代码,供大家参考,具体内容如下

本文实例为大家分享了geSwitcher实现图片切换效果的具体代码,供大家参考,具体内容如下

从该名字就可以看出来,ImageSwitcher是一个图片切换控件,可以在一系列的图片中,逐张的显示特定的图片,利用该控件可以实现图片浏览器中的上一张,下一张的功能。其使用方法也较 为简单,不过需要注意的是ImageSwitcher在使用的时候需要一个VIEwFactory,用来区分显示图片的容器和他的父窗口。

具体的用法直接看实例,照例,先上效果图

看看下一张的效果:

布局文件就不多谈了直接看MainActivity代码部分吧:

package com.kiritor.ui_imageswitcher;  import androID.app.Activity; import androID.os.Bundle; import androID.vIEw.VIEw; import androID.vIEw.VIEw.OnClickListener; import androID.Widget.button; import androID.Widget.ImageSwitcher; import androID.Widget.ImageVIEw; import androID.Widget.VIEwSwitcher.VIEwFactory; /*注意,此处直接让该类实现VIEwFactory和OnClickListener接口*/ public class MainActivity extends Activity implements VIEwFactory,OnClickListener {    /*获取图片资源集*/    private static final Integer[] images = {       R.drawable.first,R.drawable.second,R.drawable.third,};        private ImageSwitcher is;    private button btnPrev,btnNext;    private static int index = 0;   /** Called when the activity is first created. */   @OverrIDe   public voID onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentVIEw(R.layout.activity_main);     /*通过ID获取控件*/     is = (ImageSwitcher) findVIEwByID(R.ID.image_switchter);     btnPrev = (button) findVIEwByID(R.ID.pre);     btnNext = (button) findVIEwByID(R.ID.next);         is.setFactory(this);//设置ImageSwitcher所需的VIEwFactory     is.setimageResource(images[index]);//设置初始的图片资源     /*由于本类实现了OnClickListen而接口,所以这里参数可以直接用this*/     btnPrev.setonClickListener(this);     btnNext.setonClickListener(this);   }   /*因为实现了接口,需要实现接口中未实现的方法*/    public voID onClick(VIEw v) {       switch(v.getID()){       case R.ID.next:          index++;          if(index>=images.length){            index = 0;          }          is.setimageResource(images[index]);          break;       case R.ID.pre:          index--;          if(index<0){            index = images.length - 1;          }          is.setimageResource(images[index]);          break;       default:          break;       }    }    /**     * 该方法返回一个VIEw的实例     * 这个实例就是要在ImageSwitcher中所显示的     * 此处就用ImageVIEw来显示内容     * 所以直接返回一个新的ImageVIEw的实例     */    public VIEw makeVIEw() {       return new ImageVIEw(this);    } }        

以上代码中需要注意的是:

1. 本类实现了两个接口,于是在类中就要实现这两个接口中的方法,而这样写的好处在于:
便于重用,之后的代码中在需要用到这两个接口的地方,可以直接用this关键字。

2.images作为一个整型数组静态常量,里面存放的,是所有图片的ID,这需要将图片复制到res目录下的drawable目录下。

3.setFactory()方法告诉系统,ImageSwitcher要以什么样子来显示内容,而setimageSource()则告诉系统,要显示的那些图片从哪里获得。

4. makeVIEw()方法是VIEwFactory接口定义的方法,该方法返回一个VIEw,而ImageSwitcher就会按照这个VIEw的布局来显示内容。

好了一个简单的图片浏览器就算完成了!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的Android UI控件之ImageSwitcher实现图片切换效果全部内容,希望文章能够帮你解决Android UI控件之ImageSwitcher实现图片切换效果所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1143328.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存