欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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]);//显示当前的图片
    }
  });

  }
}


第三步:用手机运行的结果如下所示:

Android常用控件ImageSwitcher使用方法详解

感谢大家的阅读,如有错误和不足请指出,谢谢大家。

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