• 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);
     }

  • 相关阅读:
    [数据结构]图的DFS和BFS的两种实现方式
    [算法]两个栈实现一个队列
    [数据结构]手动实现队列
    [数据结构]手动实现栈
    [数据结构]手动实现单链表
    Hive分组取Top K数据
    HBase解决海量图片存储方案
    非结构化数据存储方案
    头条面试题之实现两个线程轮流打印字符串
    [算法]最大连续子数组和,最长重复子串,最长无重复字符子串
  • 原文地址:https://www.cnblogs.com/84126858jmz/p/4869644.html
Copyright © 2020-2023  润新知