博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ImageSwitcher图片切换控件
阅读量:7027 次
发布时间:2019-06-28

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

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

思路是这样的: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);
 }

转载于:https://www.cnblogs.com/84126858jmz/p/4869644.html

你可能感兴趣的文章
mysql基本操作
查看>>
39.CSS3弹性伸缩布局【下】
查看>>
[javascript]图解+注释版 Ext.extend()
查看>>
我的前端工具集(七)div背景网格
查看>>
linux 下mongo 基础配置
查看>>
【Dubbo实战】 Dubbo+Zookeeper+Spring整合应用篇-Dubbo基于Zookeeper实现分布式服务(转)...
查看>>
JUnit单元测试中的setUpBeforeClass()、tearDownAfterClass()、setUp()、tearDown()方法小结
查看>>
java之jvm学习笔记六(实践写自己的安全管理器)
查看>>
Docker容器查看ip地址
查看>>
在PC端或移动端应用中接入商业QQ
查看>>
将python3.6软件的py文件打包成exe程序
查看>>
DataTable 排序
查看>>
大白话5分钟带你走进人工智能-第二十节逻辑回归和Softmax多分类问题(5)
查看>>
嵌入式系统在工业控制中的应用
查看>>
docker for caffe
查看>>
使用httpclient异步调用WebAPI接口
查看>>
c++ 类的对象与指针
查看>>
SSTI(模板注入)
查看>>
rbac models
查看>>
[2615]传纸条 sdutOJ
查看>>