ImageSwitcher图片切换控件

这个控件就是用来切换图片的,还可以加动画效果但是现在还没有学到。

思路是这样的:ImageSwitcher有个方法是setImageResource();

但是这个方法有个条件你必须得实现视图工厂setFactory,让他知道你换后是什么类型的;

然后就是把所有资源存在一个数组里,我们可以通过点击按钮改变数组的下标来改变图片;

代码如下:

private ImageSwitcher imgsw;
 private Button btn_add;
 private Button btn_shang;
 private int index;           //下标
 private int[] data = { R.drawable.img1, R.drawable.img2, R.drawable.img3,
   R.drawable.img4 };    //存放图片地址的数组

@Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  imgsw = (ImageSwitcher) findViewById(R.id.imgsw);
  btn_add = (Button) findViewById(R.id.btn_add);
  btn_shang = (Button) findViewById(R.id.btn_shang);
  //设置切换view对象
  imgsw.setFactory(this);
  btn_add.setOnClickListener(this);
  btn_shang.setOnClickListener(this);
  imgsw.setImageResource(data[0]);
 }

@Override
 public void onClick(View v) {
  switch (v.getId()) {
  case R.id.btn_add:
   index++;
   if(index>=data.length){  //这里有个判断语句,当他等于数组长度的时候就证明没有图片了,让下标等于0
    index=0;
    
    imgsw.setImageResource(data[index]);
   }
   imgsw.setImageResource(data[index]);
   
   
   break;

case R.id.btn_shang:
   index--;
   if(index<=0){   //同上面一样,就是判断的条件变了
    index=data.length-1;
    imgsw.setImageResource(data[index]);
   }
   imgsw.setImageResource(data[index]);

break;
  }

}

@Override
 public View makeView() {  //这里就是视图工厂了,返回的是imageview,
  
  return new ImageView(this);
 }

时间: 2024-10-18 08:03:23

ImageSwitcher图片切换控件的相关文章

Android 自定义 HorizontalScrollView 打造再多图片(控件)也不怕 OOM 的横向滑动效果

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38140505 自从Gallery被谷歌废弃以后,Google推荐使用ViewPager和HorizontalScrollView来实现Gallery的效果.的确HorizontalScrollView可以实现Gallery的效果,但是HorizontalScrollView存在一个很大的问题,如果你仅是用来展示少量的图片,应该是没问题的,但是如果我希望HorizontalScr

ImageSwitch图像切换控件

ImageSwitch图像切换控件 继承ViewAnimator所以可以做动画 继承ViewGroup所以可以装别的控件,所以ImageSwitch里面装的就是image,不过要找个ImageView来呈现 所以ImageSwitch用一个图像工厂来显示ImageView对象图片. 我们看setImageResource里面只有一个int参数,所以如果想放多张图片,想做到图片切换, 就要改变这图片对应的ID值. 这里可以用一个int数组来装多张图片的id,用数组索引来的id给Resource.

[基础控件]---状态切换控件CompoundButton及其子类CheckBox、RadioButton、ToggleButton、switch事件监听与场景使用

一.事件监听 对于普通的Button,对其进行事件监听Google官方给出了常见的三种监听方式:1.对每一个button设置事件监听器button.setOnClickListener(View.OnclickListener  listener);此种方法当button按钮较多时代码显得多.乱.不够简洁明了. 2.在Activity中实现接口View.OnclickListener,然后重写void onClick(View v)方法,在方法中通过switch(v.getId())予以区分不同

Android_自定义切换控件SwitchView

今天做了一下老师给的第一套题,第一题是判断一个字符串是否在另一个字符串中:做了一下,感觉有好多种写法,java中的类真的好多啊,要掌握好一些基本类的用法: package com.exam.e120; public class java1 { public static void main(String[]args){ String str1,str2; str1="I am Tom, I am from China."; str2="Tom"; int i=str

我写的一个 Qt 显示图片的控件

Qt 中没有专门显示图片的控件,通常我们会使用QLabel来显示图片.但是QLabel 显示图片的能力还是有点弱.比如不支持图像的缩放一类的功能,使用起来不是很方便.因此我就自己写了个简单的类. 我这个类支持三种图像显示模式,我分别称之为:FIXED_SIZE, CENTRED,AUTO_ZOOM, AUTO_SIZE. FIXED_SIZE 模式下,显示的图像大小等于图像尺寸乘以缩放因子,如果控件的尺寸小于这个大小则多出的部分被裁切掉. FIX_SIZE_CENTRED模式与FIXED_SIZ

【WP8】图片缓存控件

在做图片相关的应用的时候,经常需要用大图片的缓存,默认的Image控件不支持缓存的支持,本文自定义一个支持图片缓存的控件 当图片的地址是网络图片时候 根据Url判断该图片是否存在本地,如果存在,则直接从本地读取,如果不存在,则通过Http请求下载该图片,保存到本地,然后读取到Image控件中 当图片为本地地址的时候,直接从本地读取,设置到Image控件中 1.在定义可缓存图片控件之前,先封装一下文件存储的帮助类 using System; using System.IO; using Syste

Android开发技巧——定制仿微信图片裁剪控件

拍照--裁剪,或者是选择图片--裁剪,是我们设置头像或上传图片时经常需要的一组操作.上篇讲了Camera的使用,这篇讲一下我对图片裁剪的实现. 背景 下面的需求都来自产品. 裁剪图片要像微信那样,拖动和放大的是图片,裁剪框不动. 裁剪框外的内容要有半透明黑色遮罩. 裁剪框下面要显示一行提示文字(这点我至今还是持保留意见的). 在Android中,裁剪图片的控件库还是挺多的,特别是github上比较流行的几个,都已经进化到比较稳定的阶段,但比较遗憾的是它们的裁剪过程是拖动或缩放裁剪框,于是只好自己

从零开始学android&lt;ImageSwitcher图片切换组件.二十六.&gt;

ImageSwitcher组件的主要功能是完成图片的切换显示,例如用户在进行图片浏览的时候,可以通过按钮点击一张张的切换显示的图片,而且使用ImageSwitcher组件在每次切换的时候也可以为其增加一些动画的效果,此类定义如下: java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.FrameLayout ? android.widget.ViewAnimator ? android.wid

从数码图片读取条码或者生成数码图片条码控件VintaSoftBarcode.NET Library

VintaSoftBarcode.NET Library 条形码控件是一个完美的条码读写.NET 库,支持从数码图片读取条码或者生成数码图片条码. 具体功能: 支持多线程 支持创建条码图片 支持为生成的条码指定大小和分辨率 拥有许多选项控制条码创建 支持从图片对象.图片文件.和PDF文档读取条码 编程环境:.NET 框架. 这是一个可完全操纵的.NET 库,保证在.NET 框架中实现快速工作. 能够识别图片中的所有条码. 确认已识别的条码类型. 返回条码的字符串值. 自动检测条码的方位. 返回条