Android高级组件ImageSwitcher图像切换器使用方法详解

Android高级组件ImageSwitcher图像切换器使用方法详解,第1张

概述图像切换器(ImageSwitcher),用于实现类似于Windows *** 作系统的“Windows照片查看器”中的上一张、下一张切换图片的功能。在使用ImageSwitcher时,必须实现ViewSwitcher.ViewFactory接口,并通过makeView()方法来创

图像切换器(ImageSwitcher),用于实现类似于windows *** 作系统的“windows照片查看器”中的上一张、下一张切换图片的功能。在使用ImageSwitcher时,必须实现VIEwSwitcher.VIEwFactory接口,并通过makeVIEw()方法来创建用于显示图片的ImageVIEw。makeVIEw()方法将返回一个显示图片的ImageVIEw。在使用图像切换器时,还有一个方法非常重要,那就是setimageResource方法,该方法用于指定要在ImageSwitcher中显示的图片资源。

下面通过一个实例来说明图像切换器的用法。

res/layout/main.xml:

<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"   androID:layout_wIDth="fill_parent"   androID:layout_height="fill_parent"   androID:orIEntation="horizontal"   androID:ID="@+ID/layout"   androID:gravity="center">   <button      androID:text="上一张"     androID:layout_wIDth="wrap_content"     androID:layout_height="wrap_content"     androID:ID="@+ID/button1"/>   <ImageSwitcher     androID:layout_wIDth="wrap_content"     androID:layout_height="wrap_content"     androID:layout_gravity="center"     androID:ID="@+ID/imageSwitcher1"/>   <button      androID:text="下一张"     androID:layout_wIDth="wrap_content"     androID:layout_height="wrap_content"     androID:ID="@+ID/button2"/> </linearLayout>

 MainActivity:

package com.example.test;  import androID.app.Activity; import androID.os.Bundle; import androID.vIEw.VIEw; import androID.vIEw.VIEw.OnClickListener; import androID.vIEw.VIEwGroup.LayoutParams; import androID.vIEw.animation.AnimationUtils; import androID.Widget.button; import androID.Widget.ImageSwitcher; import androID.Widget.ImageVIEw; import androID.Widget.VIEwSwitcher.VIEwFactory;   public class MainActivity extends Activity{   //声明并初始化一个保存要显示图像ID的数组   private int[] imageID=new int[]{R.drawable.img01,R.drawable.img02,R.drawable.img03,R.drawable.img04,R.drawable.img05,R.drawable.img06,R.drawable.img07,R.drawable.img08};   private int index=0;//当前显示图像的索引   private ImageSwitcher imageSwitcher;//声明一个图像切换器对象   @OverrIDe   protected voID onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentVIEw(R.layout.main);     imageSwitcher=(ImageSwitcher)findVIEwByID(R.ID.imageSwitcher1);//获取图像切换器     //设置动画效果     imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,androID.R.anim.fade_in));//设置淡入动画     imageSwitcher.setoutAnimation(AnimationUtils.loadAnimation(this,androID.R.anim.fade_out));//设置淡出动画     imageSwitcher.setFactory(new VIEwFactory() {//设置VIEw工厂              @OverrIDe       public VIEw makeVIEw() {         ImageVIEw imageVIEw=null;         imageVIEw=new ImageVIEw(MainActivity.this);//实例化一个ImageVIEw类的对象         imageVIEw.setScaleType(ImageVIEw.ScaleType.FIT_CENTER);//设置保持纵横比居中缩放图像         imageVIEw.setLayoutParams(new ImageSwitcher.LayoutParams(             LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));         return imageVIEw;       }     });     imageSwitcher.setimageResource(imageID[index]);//显示默认的图片          //“上一张”和“下一张”按钮的控制     button up=(button)findVIEwByID(R.ID.button1);     button down=(button)findVIEwByID(R.ID.button2);     up.setonClickListener(new OnClickListener() {              @OverrIDe       public voID onClick(VIEw arg0) {         if(index>0){           index--;//图片索引后退一个         }else{           index=imageID.length-1;//图片达到最前面一张之后,循环至最后一张         }         imageSwitcher.setimageResource(imageID[index]);//显示当前图片       }     });     down.setonClickListener(new OnClickListener() {                      @OverrIDe           public voID onClick(VIEw arg0) {             if(index<imageID.length-1){               index++;//图片索引前进一个             }else{               index=0;//图片达到最后面一张之后,循环至第一张             }             imageSwitcher.setimageResource(imageID[index]);//显示当前图片           }         });   } } 

效果如图所示:

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

总结

以上是内存溢出为你收集整理的Android高级组件ImageSwitcher图像切换器使用方法详解全部内容,希望文章能够帮你解决Android高级组件ImageSwitcher图像切换器使用方法详解所遇到的程序开发问题。

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

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

原文地址: https://www.outofmemory.cn/web/1143231.html

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

发表评论

登录后才能评论

评论列表(0条)

保存