Android实现图像切换器

作者:magiz19 时间:2023-11-27 00:45:41 

本文实例为大家分享了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 };   // 声明并初始化一个保存要显示图像ID的数组
private int index = 0;           // 当前显示图像的索引
private ImageSwitcher imageSwitcher;    // 声明一个图像切换器对象

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() {
 ImageView imageView = new ImageView(MainActivity.this); // 实例化一个ImageView类的对象
 imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); // 设置保持纵横比居中缩放图像
 imageView.setLayoutParams(new ImageSwitcher.LayoutParams(
  LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
 return imageView;                    // 返回imageView对象
}

});
imageSwitcher.setImageResource(imageId[index]);  // 显示默认的图片
    Button up = (Button) findViewById(R.id.btn1);  // 获取“上一张”按钮
Button down = (Button) findViewById(R.id.btn2); // 获取“下一张”按钮
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]); // 显示当前图片
}
});

xml代码:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="horizontal"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:id="@+id/llayout"
 android:gravity="center"
 >
 <Button
  android:text="上一张"
  android:id="@+id/btn1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"/>

<ImageSwitcher
android:id="@+id/imageSwitcher1"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

<Button
  android:text="下一张"
  android:id="@+id/btn2"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"/>
</LinearLayout>

说明:

drawable中,加入下列图片img01~img09

效果图:

Android实现图像切换器

来源:https://blog.csdn.net/magiz19/article/details/9115037

标签:Android,图像切换器
0
投稿

猜你喜欢

  • c# 方法可变数量的参数

    2023-10-06 07:31:21
  • Android中TelephonyManager类的方法实例分析

    2021-07-29 10:35:28
  • 带你了解如何使用Spring基于ProxyFactoryBean创建AOP代理

    2022-04-28 09:17:37
  • 关于Spring Boot项目的 log4j2 核弹漏洞问题(一行代码配置搞定)

    2022-08-26 03:04:20
  • @Value如何获取yml和properties配置参数

    2021-12-12 13:24:01
  • 详解Java Selenium中的鼠标控制操作

    2023-11-23 14:43:17
  • java连接SQL Server数据库的方法

    2022-10-14 04:16:56
  • Java代码优化细节

    2023-06-26 09:34:34
  • java图形界面之布局设计

    2021-11-10 16:07:40
  • Springboot打成war包并在tomcat中运行的部署方法

    2022-06-29 07:53:32
  • 基于Map的computeIfAbsent的使用场景和使用方式

    2023-04-30 03:04:06
  • SpringCloud分布式链路追踪组件Sleuth配置详解

    2023-11-28 23:58:42
  • Spring Boot 启动加载数据 CommandLineRunner的使用

    2021-06-17 12:52:21
  • Android实战教程第六篇之一键锁屏应用问题解决

    2023-01-28 03:13:22
  • VS.net VSS时,编译报错:未能向文件“.csproj.FileListAbsolute.txt”写入命令行 对路径 的访问被拒绝。

    2021-10-01 18:29:12
  • Spring零基础入门WebFlux响应式编程

    2022-07-12 07:25:53
  • Java链表(Linked List)基本原理与实现方法入门示例

    2021-10-12 05:49:14
  • IntelliJ IDEA优化配置的实现

    2023-01-01 03:29:55
  • 详解Flutter桌面应用如何进行多分辨率适配

    2023-06-17 07:14:59
  • C#实现将字符串转换成日期格式的方法

    2021-07-18 06:19:11
  • asp之家 软件编程 m.aspxhome.com