Android图像切换器imageSwitcher的实例应用
作者:甄情 发布时间:2023-10-06 00:30:56
标签:Android,图像切换器
图像切换器(ImageSwitcher),用于实现类似于windows操作系统下的windows照片查看器中的上一张 下一张切换图片的功能,在使用ImageSwitcher时,必须实现ViewSwitcher.ViewFactory接口,并通过makeView()方法来创建显示图片的ImageView。makeView()方法将返回一个显示图片的imageView。再使用图像切换器时,还有一个方法非常重要,那就是setImageResource()方法,该方法用于指定要在ImageSwitcher中显示的图片资源。
下面通过一个具体的实例来说明图像切换器用法
activity_main.java
package com.example.su446;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
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.ViewSwitcher.ViewFactory;
public class MainActivity extends Activity {
//声明并初始化一个保存要显示图像id的数组
private int[]imageId={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};
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.imageSwitcher1);
//设置淡入动画
imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));
//设置淡出动画
imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
imageSwitcher.setFactory(new ViewFactory() {
@Override
public View makeView() {
// TODO Auto-generated method stub
ImageView imageView=new ImageView(MainActivity.this);
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageView.setLayoutParams(new ImageSwitcher.LayoutParams(
LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
return imageView;
}
});
imageSwitcher.setImageResource(imageId[index]);//显示默认的图片
Button up=(Button)findViewById(R.id.button1);
Button down=(Button)findViewById(R.id.button2);
up.setOnClickListener(new OnClickListener() {//为上一张添加事件 *
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(index>0)
index--;
else
index=imageId.length-1;
imageSwitcher.setImageResource(imageId[index]);
}
});
down.setOnClickListener(new OnClickListener() {//为下一张添加事件 *
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(index<imageId.length-1)
index++;
else
index=0;
imageSwitcher.setImageResource(imageId[index]);
}
});
}
}
这里是运行结果:
来源:https://scx-white.blog.csdn.net/article/details/50541637


猜你喜欢
- 前言: 之前安装了Ubuntu 18.04,结果在安装Codeblocks / VScode还是安装gcc,c/c++的时候出现了一堆错误(
- 笔者今年做了一个和人脸有关的android产品,主要是获取摄像头返回的预览数据流,判断该数据流是否包含了人脸,有人脸时显示摄像头预览框,无人
- 题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数
- 本文实例讲述了C#文件断点续传实现方法。分享给大家供大家参考。具体实现方法如下:/// <summary>/// 下载局域网文件
- 本文实例讲述了Java编程实现判断网上邻居文件是否存在的方法。分享给大家供大家参考,具体如下:由于java不支持通过//192.168.19
- 简述每个项目从新建开始我们或多或少都会导入各种依赖库,如果项目中只有一个module的话,对于依赖库版本的管理很容易,但是多个module的
- 在Android中因为不同像素手机的多样化,对于一张图片,放大不同的手机上因像素不同显示上也会有区别。现有如下需求:将一张图片宽度充满整个屏
- 环境:apache-tomcat-8.5.15jdk1.8.0_172IDEA建立一个maven-webapp项目:Create New P
- PS: 之前写过一篇关于 SpringBoo 中使用配置文件的一些姿势,不过嘛,有句话(我)说的好:曾见小桥流水,未睹观音坐莲!所以再写一篇
- 在android移动端的开发中,首页轮播图是一个特别常见的功能,所以今天就来将最近写的一个小demo记录一下。首先当然是新建一个项目代码如下
- 我们讲一下Criteria查询,这个对于不是太熟悉SQL语句的我们这些程序员来说是很容易上手的。 废话不多说,看一下例子:&nbs
- Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Myba
- Redisson是架设在redis基础上的一个Java驻内存数据网格(In-Memory Data Grid)。充分的利用了Redis键值数
- Spring MVC 为开发者提供了方便的开发方式和丰富的功能。其中,HttpMessageConverter 是Spring MVC中非常
- 使用springboot创建多module项目,以前也做过多次,一段时间不用又忘了,在这里做个记录项目名称作用说明demo-root根项目父
- 关于这个系列里的问题,每个学Java的人都应该搞懂。当然,若是仅仅学Java玩玩就无所谓了。若是你以为本人现已逾越初学者了,却不很懂这些问题
- 同一个service调用service本身如果同一个service调用service本身的方法,出现了事务不能控制。解决方案1.在sprin
- 几个月前写过一篇博客《xUtils3.0框架学习笔记》 ,上面也有记录通过xUtils实现文件上传的使用方法,代码如下:private vo
- import java.io.IOException;import javax.xml.parsers.*;import javax.xml
- 本文实例讲述了Android实现Activity、Service与Broadcaster三大组件之间互相调用的方法。分享给大家供大家参考,具