Android常用控件ImageSwitcher使用方法详解
程序员文章站
2024-02-11 18:11:52
图像切换器使用imageswitcher表示,用于实现类似于windows操作系统下的“windows照片查看器”中的上一张、下一张切换图片的功能。在使用imageswit...
图像切换器使用imageswitcher表示,用于实现类似于windows操作系统下的“windows照片查看器”中的上一张、下一张切换图片的功能。在使用imageswitcher时,必须实现viewswitcher.viewfactory接口,并通过makeview()方法创建用于显示图片的imageview对象。makeview()方法将返回一个显示图片的imageview。在使用imageswitcher组件时,还有一个非常重要的方法,那就是setimageresource()方法,改方法用于指定在imageswitcher中显示的图片资源。
第一步:xml布局文件的代码如下:
<imageswitcher android:id="@+id/im" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/button1" android:layout_centerhorizontal="true" android:layout_margintop="99dp" > </imageswitcher> <button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparenttop="true" android:layout_centerhorizontal="true" android:layout_margintop="77dp" android:text="上一张" /> <button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignleft="@+id/button1" android:layout_below="@+id/im" android:layout_margintop="51dp" android:text="下一张" />
第二步:在java中编写逻辑代码,详细代码如下所示:
package com.example.imageswitcher; import android.app.activity; import android.app.actionbar; import android.app.fragment; import android.os.bundle; import android.view.layoutinflater; import android.view.menu; import android.view.menuitem; import android.view.view; import android.view.view.onclicklistener; import android.view.viewgroup; import android.widget.button; import android.widget.imageswitcher; import android.widget.imageview; import android.widget.viewswitcher.viewfactory; import android.os.build; public class mainactivity extends activity { private int[] imageid=new int[]{ r.drawable.bj, r.drawable.bj1, r.drawable.bj11,r.drawable.bj12 }; private int index=0; private imageswitcher imageswitcher; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); imageswitcher=(imageswitcher) findviewbyid(r.id.im); imageswitcher.setinanimation(this, android.r.anim.fade_in);//设置淡入的动画 imageswitcher.setoutanimation(this ,android.r.anim.fade_out);//设置淡出的动画 imageswitcher.setfactory(new viewfactory() { @override public view makeview() { imageview imageview=new imageview(mainactivity.this);//创建一个iv 的类 imageview.setadjustviewbounds(true); imageview.setscaletype(imageview.scaletype.fit_center);//设置保持横纵比居中缩放图片 imageview.setlayoutparams(new imageswitcher.layoutparams(240,180)); return imageview; } }); imageswitcher.setimageresource(imageid[index]);//显示默认的图片 //获取两个按钮的id button up=(button) findviewbyid(r.id.button1); button down=(button) findviewbyid(r.id.button2); up.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { if(index>0){ index--; }else{ index =imageid.length-1; } imageswitcher.setimageresource(imageid[index]);//显示当前的图片 } }); down.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { if(index < imageid.length-1){ index++; }else{ index=0; } imageswitcher.setimageresource(imageid[index]);//显示当前的图片 } }); } }
第三步:用手机运行的结果如下所示:
感谢大家的阅读,如有错误和不足请指出,谢谢大家。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。