ImageSwitcher图像切换器的使用实例

本文实例为大家分享了ImageSwitcher图像切换器的实现代码,供大家参考,具体内容如下

描述

在该实例中,提供一个图片切换器和两个点击按钮,用于切换图片,并用一个TextView显示图片信息。其中,当前图片若为最后一张,点击下一张,则跳转到第一张;同理,第一张图片点击上一张,则显示最后一张图片,循环查看当前图片。

目标效果图如下所示:

页面布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:id="@+id/LinearLayout1"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:background="@drawable/bg67"
  android:orientation="vertical"
  android:paddingBottom="@dimen/activity_vertical_margin"
  android:paddingLeft="@dimen/activity_horizontal_margin"
  android:paddingRight="@dimen/activity_horizontal_margin"
  android:paddingTop="@dimen/activity_vertical_margin"
  tools:context=".MainActivity" >

  <TextView
    android:id="@+id/show"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="20dp"
    android:layout_marginTop="20dp"
    android:text="我是当前图片的信息~"
    android:textSize="24dp" />

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <ImageSwitcher
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/image"
      android:layout_gravity="center"
      android:background="#666666">
    </ImageSwitcher>

    <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="horizontal"
      android:gravity="center">

      <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="上一张"
        android:layout_marginLeft="20dp"
        android:textSize="24dp"
        android:id="@+id/up" />

      <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="下一张"
        android:layout_marginLeft="20dp"
        android:textSize="24dp"
        android:id="@+id/down" />

    </LinearLayout>

  </LinearLayout>
</LinearLayout>

事件响应

package com.example.imageswitchdemo;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.ViewSwitcher.ViewFactory;

public class MainActivity extends Activity
{
  TextView show=null;
  Button up,dowm=null;
  ImageSwitcher image=null;
  private int[] images=new int[]{R.drawable.a001,R.drawable.a002,R.drawable.a003,
                  R.drawable.a004,R.drawable.a005,R.drawable.a006,
                  R.drawable.a007,R.drawable.a008,R.drawable.a009};
  private int index=0;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //获取控件
    show=(TextView) findViewById(R.id.show);
    up=(Button) findViewById(R.id.up);
    dowm=(Button) findViewById(R.id.down);
    image=(ImageSwitcher) findViewById(R.id.image);

    //为获取到的控件添加显示效果:淡入动画和淡出动画
    image.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));
    image.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));

    //为图像切换器设置一个ViewFactory,并重写makeView方法
    image.setFactory(new ViewFactory()
    {

      @Override
      public View makeView()
      {
        //指定视图切换工程
        return new ImageView(MainActivity.this);
      }
    });
    image.setImageResource(images[index]);
    show.setText("一共有"+images.length+"张图片,当前是第"+(index+1)+"张图片");

    //当点击按钮时,图像切换并显示相应的信息
    up.setOnClickListener(new OnClickListener()
    {

      @Override
      public void onClick(View arg0)
      {
        if(index>0)
          index--;
        else
          index=images.length-1;

        image.setImageResource(images[index]);
        show.setText("一共有"+images.length+"张图片,当前是第"+(index+1)+"张图片");
      }
    });

    //同理,当点击按钮时,图像切换并显示相应的信息
    dowm.setOnClickListener(new OnClickListener()
    {
      public void onClick(View arg0)
      {
        if(index<images.length-1)
          index++;
        else
          index=0;

        image.setImageResource(images[index]);
        show.setText("一共有"+images.length+"张图片,当前是第"+(index+1)+"张图片");
      }
    });
  }

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
  }

}

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

(0)

相关推荐

  • Android图像切换器imageSwitcher的实例应用

    图像切换器(ImageSwitcher),用于实现类似于windows操作系统下的windows照片查看器中的上一张 下一张切换图片的功能,在使用ImageSwitcher时,必须实现ViewSwitcher.ViewFactory接口,并通过makeView()方法来创建显示图片的ImageView.makeView()方法将返回一个显示图片的imageView.再使用图像切换器时,还有一个方法非常重要,那就是setImageResource()方法,该方法用于指定要在ImageSwitche

  • Android高级组件ImageSwitcher图像切换器使用方法详解

    图像切换器(ImageSwitcher),用于实现类似于Windows操作系统的"Windows照片查看器"中的上一张.下一张切换图片的功能.在使用ImageSwitcher时,必须实现ViewSwitcher.ViewFactory接口,并通过makeView()方法来创建用于显示图片的ImageView.makeView()方法将返回一个显示图片的ImageView.在使用图像切换器时,还有一个方法非常重要,那就是setImageResource方法,该方法用于指定要在ImageS

  • Android实现图像切换器

    本文实例为大家分享了Android实现图像切换器的具体代码,供大家参考,具体内容如下 java代码: private int[] imageId = new int[] { R.drawable.img01, R.drawable.img02, R.drawable.img03, R.drawable.img04, R.drawable.img05, R.drawable.img06, R.drawable.img07, R.drawable.img08, R.drawable.img09 };

  • ImageSwitcher图像切换器的使用实例

    本文实例为大家分享了ImageSwitcher图像切换器的实现代码,供大家参考,具体内容如下 描述 在该实例中,提供一个图片切换器和两个点击按钮,用于切换图片,并用一个TextView显示图片信息.其中,当前图片若为最后一张,点击下一张,则跳转到第一张:同理,第一张图片点击上一张,则显示最后一张图片,循环查看当前图片. 目标效果图如下所示: 页面布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/androi

  • Android 图片切换器(dp、sp、px) 的单位转换器

    Android 图片切换器 这几天一直在整理组件想留着以后使用.还是一点一点整理吧.今天把上周整理的 ImageSwitcher 和单位转换器(dp/sp/px). 下面上内容 ImageSwitcher: 图像查看器,好像是老组件了,今天先更一个基础的组件,后期如果有时间继续扩展. 那么图像查看器,就是和 Windows 系统下的图片查看器比较类似.自带上一张和下一张的功能. 这个组件有以下几个特点,本人感觉: 1.该组件属于容器性质; 2.ImageSwitcher 本身继承了 FrameL

  • Java实现的图像查看器完整实例

    本文实例讲述了Java实现的图像查看器.分享给大家供大家参考.具体如下: 1. MyCanvas.java: package PictureViewer; import java.awt.*; import java.awt.event.*; import java.awt.image.*; public class MyCanvas extends Canvas implements ComponentListener{ private BufferedImage bi; private Im

  • java 实现音乐播放器的简单实例

    java 实现音乐播放器的简单实例 实现效果图: 代码如下 package cn.hncu.games; import java.applet.Applet; import java.applet.AudioClip; import java.awt.Color; import java.awt.Font; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.Mou

  • Android TextSwitcher文本切换器和ViewFlipper使用详解

    本文为大家分享了Android TextSwitcher文本切换器的使用,供大家参考,具体内容如下 1.TextSwitcher 使用: 应用分为三步: 1.得到 TextSwitcher 实例对象   TextSwitcher switcher = (TextSwitcher) findViewById(R.id.textSwitcher); 2.为switcher指定ViewSwitcher.ViewFactory工厂,该工厂会产生出转换时需要的View   switcher.setFact

  • AngularJs 延时器、计时器实例代码

    1.$timeout延时器 apptest.controller("main",function($scope,$timeout){ $scope.pink="pink"; $scope.box="第二个盒子"; $timeout(function(){ $scope.pink="第一个盒子内容,延迟两秒后改变了"; },2000); setTimeout(function(){ $scope.pink="第一个盒子

  • JCrop+ajaxUpload 图像切割上传的实例代码

    先给大家展示下效果图: 页面代码 里面用户的uuid是写死的test <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE> <html lang="en"> <head> <title>用户头像剪裁</title>

随机推荐