Android studio App开发 图像切换器 在同一个组件中切换不同照片

【Android Studio】APP练手小项目—切换图片APP【学会此项目方便拓展设计你的项目APP】 本项目实现生成一个安卓APP软件,点击按钮可实现按钮切换图片。项目包含页面布局、功能实现的逻辑代码以及设置APP图标LOGO和自定义APP名称。 阅读详情

图像切换器

实现通过点击上一张下一张切换图片的功能。 通过实现ImageSwitcher来实现。
会用到的方法: ImageSwitcher, ViewSwitcher.ViewFactory, makeView() , setImageResource()。

实现步骤

步骤一: 修改布局管理器

需要添加两个Button和一个ImageSwitcher。
代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:id="@+id/image_layout">

    <Button
        android:id="@+id/image_but1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="上一张"/>

    <ImageSwitcher
        android:id="@+id/imageSwitcher"
        android:layout_width="150dp"
        android:layout_height="300dp"
        android:layout_gravity="center"/>

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

效果

步骤二 创建一个存储图片id的数组

代码如下:

private int[] imageId = new int[]{
            R.drawable.image_1,R.drawable.image_2,R.drawable.image_3,R.drawable.imag_river
    };
    private int index = 0;
    private ImageSwitcher imageSwitcher;
步骤三 获取图片切换器,并设置切换效果

核心代码如下:

imageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher);
        imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_in));
        imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_out));
        imageSwitcher.setFactory(new ViewSwitcher.ViewFactory() {
            @Override
            public View makeView() {
                ImageView imageView = new ImageView(ImageSwitcherActivity.this);
                imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
                imageView.setLayoutParams(new ImageSwitcher.LayoutParams(
                        ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT
                ));
                return imageView;
            }
        });
        imageSwitcher.setImageResource(imageId[index+1]);
设置button点击效果

核心代码如下:

Button up = (Button) findViewById(R.id.image_but1);
        Button down = (Button) findViewById(R.id.image_but2);
        up.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(index>0){
                    index--;
                }else {
                    index = imageId.length-1;
                }
                imageSwitcher.setImageResource(imageId[index]);
            }
        });
        down.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(index < imageId.length-1){
                    index++;
                }else{
                    index = 0;
                }
                imageSwitcher.setImageResource(imageId[index]);
            }
        });
运行调试

效果

如果点击时发生闪退,且报错如下:Out of memory on a 33177612-byte allocation.这是因为内存溢出,就是你程序要求使用的内存已经超出设定给JVM使用的最大内存限制了。
解决办法: 将要显示的图片复制到drawable_xhdpi中。
在这里插入图片描述
到此完美运行。

Android实现图片手势缩放、移动、双击放大缩小 Android实现图片手势缩放、移动、双击放大缩小。 立即下载

相关推荐

Android编程单击图片实现切换效果的方法

本文实例讲述了Android编程单击图片实现切换效果的方法。分享给大家供大家参考,具体如下: 新建一个Android项目,命名为FrameLayout 此实例主要操作src文件夹下的MainActivity.Java类文件和res/layout下的activity_main.xml布局文件 1.布局主页面代码activity_main.xml↓ <FrameLayout xmlns:android=http://schemas.android.com/apk/res/android android:layout_width=fill_parent android:layout_hei

Android studio中单击ImageButton按钮变换图片或颜色

Android studio中单击ImageButton按钮变换图片或按钮

wljaz的博客 9364

避坑指南:SAP成本中心分割结构配置常见错误及解决(含KA06/KL01前置步骤)

本文深入解析了SAP成本中心会计中分割结构配置的关键步骤与常见错误。重点强调了配置前必须通过KA06创建次级成本要素(类别42)和通过KL01创建活动类型这两个核心前置步骤,并详细剖析了在OKES中定义分割规则及版本时的高频报错原因与解决方案,帮助顾问和运维人员有效规避配置陷阱,确保成本分摊的准确性。

pear55的博客 858

模块三Android Studio 实现图片变换

实现了三种效果,旋转,改变大小以及背景颜色。。。

QAZWCC的博客 1239

【Azure 架构师学习笔记】- Azure Private Endpoint

公有云的其中一个特点是默认允许公网访问, 这就对企业环境带来风险,也是很多年前企业对公有云抵触的其中一个原因,现在这类问题已经很少,因为有了很多技术来确保云上的资源被安全地访问。其中Private endpoint(PE)就起到了很重要的作用。云上的某个资源如VM会创建在特定的网络(VNet/Subnet)上, 而其他如Storage Account , Azure SQL等PaaS服务则没有。如果你需要用VM 来访问这些PaaS资源,VM 就会通过资源的公网IP 来访问。

MVP黄钊吉(發糞塗牆) 1784

如何入门强化学习

很多同学在入门强化学习的时候都会遇到困难,那我这里就简单介绍一下应该如何入门强化学习,并以开源代码为例详解强化学习实战。

seeksister的博客 3298

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

图像切换器(ImageSwitcher),用于实现类似于Windows操作系统的“Windows照片查看器”中的上一张、下一张切换图片的功能。在使用ImageSwitcher时,必须实现ViewSwitcher.ViewFactory接口,并通过makeView()方法来创建用于显示图片的ImageView。makeView()方法将返回一个显示图片的ImageView。在使用图像切换器时,还有一...

weixin_42344284的博客 459

Abaqus SIGTERM/SIGINT中断问题深度解析与实战解决方案

本文深度解析Abaqus仿真计算中因SIGTERM或SIGINT信号导致作业意外终止的常见问题。核心原因常为许可证管理器因网络通信延迟误判进程空闲而强制断开,或系统资源监控工具的误杀。文章提供了从命令行参数调优(如使用int、ask_delete=OFF)、计算环境隔离到编写自动化容错脚本的完整实战解决方案,帮助用户彻底规避此类中断,确保长时间仿真任务的稳定运行。

weixin_29279101的博客 398

图像切换器2020.12.09

基于android studio图像切换器 1:打开Android studio,在app/new/新建module,命名为Myview步骤如下 2:事先准备好几张照片;将它们复制到Myview/res/drawable下; 3:添加图像切换器组件 代码:<?xml version="1.0" encoding="utf-8"?> </ImageSwitcher> 4:在MainActivity.java中加入相应的代码 代码: package com.

weixin_51307822的博客 138

接上篇,记录一下【Unity 3D对博途PLCSIM的通讯】文章有点长~仔细看,很基础

本文参考链接:西门子PLC丨PROFINET通讯仿真(虚拟通讯)做了一些更详细的优化,本文使用的类库并非原作者使用的类库。 首先,昨天项目已经创建好了,这边也加了一个InputField和一个Button,可以实现简单的读取,ok开始。 放入准备好的通讯类库; 新建一个博途的项目,本次测试使用博途V15,测试环境为虚拟机,Unity运行在本地计算机,建立博途项目流程如下: 新建项目,右键项目-属性-保护-对勾,如图: 不得不说的是,仿真中加密的FB块是无法下载的哦~ 添加CPU...

NS_Speak(IVAV) 8043

Windows部署小龙虾 OpenClaw 报错不断?参考这篇文章,轻松配置 OpenClaw 所需环境

想在Windows上部署OpenClaw却频频报错?🔧 本文详细梳理了OpenClaw部署必需环境的安装步骤和官方下载地址 📦,提供完整的验证清单和常见问题排查方法,帮你一次性搞定所有环境配置,顺利部署OpenClaw ✅

XiaoqiangClub的博客 352

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

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

苏苏爱自由 2564

把核心变干净的代价与回报:为什么推动 Clean Core,几乎绕不开 SAP Integration Suite 与 API Management

Clean Core的核心价值在于构建可持续升级的ERP系统架构,其关键不在于减少代码或限制扩展,而是通过解耦和治理实现系统边界的清晰划分。这一理念将推动企业从传统的"私搭乱建"式集成向平台化工程转型,而SAP Integration Suite和API Management正是实现这一转型的核心组件。 Integration Suite作为集成中枢,通过统一平台、可复用内容库和事件驱动架构,将碎片化连接转变为标准化能力;API Management则负责建立接口治理体系,通过统一入口、

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 229

android怎么换应用图片,Android图像切换器imageSwitcher的实例应用

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

weixin_39568706的博客 277

【异常】Cursor 编辑器 “Too many computers“ 报错排查与完整解决方案

该报错通常在启动Cursor、调用AI对话/代码补全核心功能时触发,会直接阻断编辑器AI能力的正常使用。

奶爸的编程之路,也就一周冷个三天 440

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

2021-01-24

AndroidStudio实现照片的左右滑动切换 1.activity_main.xml <?xml version="1.0" encoding="utf-8"?> 2.MainActivity.java package com.example.app0901; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Motion

weixin_45523942的博客 187

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Android Studio安卓开发ZoomImageView图片放大缩小与ViewPager冲突问题

最近有个需求是做一个点击图片放大放小功能,然后参考了自定义ZoomImageView这个类来做,但是做到后面发现缩小之后,滑动的时候会与ViewPager冲突,他会滑到下一页,我肯定是希望缩小滑动的时候,应该靠近边界了再滑动到下一页,网上找了很多方法,有说用getParent().requestDisallowInterceptTouchEvent(true);这个拦截,但我感觉不是明智之举。我自己用的是一MVVM的架构,然后设置适配器,观察数据请求,如果请求到了,就把list集合传到适配器显示就行了。

阿文的博客 1268

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

android利用ImageView点击按钮切换图片

android利用ImageView点击按钮切换图片 本文章中采用ImageView中的setDrawable方法 setImageDrawble使用drable资源 布局文件:在layout目录下的activity_main.xml下编写 导入图片:复制粘贴到drable目录下方 具体代码: RelativeLayout xmlns:android="http://schemas.and...

qq_43654669的博客 7254

在Android studio上用 ImageView + Button 实现图片的切换功能(附完整源码)

ImageView + Button 实现图片的切换功能(不少于 10 张); 实现结果 点击图片即可切换 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...

Hdhdi的博客 5404

使用Android Studio 切换图片

创作原因: 由于今天老师要求我们使用Android Studio制作电子相册,但我个人还不太会了解具体的详细步骤,所以根据先前所学知识,写了个利用Android Studio 切换图片,新手上路,请多指教。 一、思维导图: 二、项目 1.创建项目 2. 挑选自己喜欢的照片,放到mipmap文件里。 完善xml代码 4.完善activity方法里的代码 package com.exampl...

Feifei 8420

学会在Android Studio里使用按钮、图像视图与图像按钮

【代码】学会在Android Studio里使用按钮、图像视图与图像按钮。

RainBow_xiy的博客 1623

androidStudio中利用图形切换控件中轮流显示图片,并有慢进慢出的动画效果

利用图形切换控件中轮流显示图片,并有慢进慢出的动画效果 (一)、图形切换控件轮流显示图片步骤如下: 1、既然要设置图形切换控件,首先我们得设计自己的界面,将图形切换控件布置到我们的页面上面,设计的XML的代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas....

qq_42451251的博客 2009

用Android studio 做了个简单的多图切换(。・∀・)ノ

这个过程过于简单就直接放代码了,全部代码都是在MainActivity里面写的,下面代码中有注释: package example.multigraphswitching; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.support.v7.app.AppCompatActi...

qq_42459832的博客 1052

【安卓作业】Android Studio图片切换案例

【安卓作业】Android Studio图片切换案例 一、界面 二、功能介绍 图片切换 三、项目结构 四、关键代码展示 (1)MainActivity public class MainActivity extends AppCompatActivity { private ImageView image; private ImageButton btnleft; private ImageButton btnright; private int images[]={

m0_46181409的博客 5866

阅读APP源码,了解Android studio触摸事件,切换图片

阅读APP源码,了解Android studio触摸事件,切换图片 xml代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.androi

云豹网络科技 426

android Studio的手势切换和 图片切换的案例

思维导图 一、安卓手势操作原理 在安卓系统中,每一次手势交互都会依照以下顺序执行。 (1)触屏一刹那,触发一个MotionEvent事件。 (2)该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象。 (3)通过GestureDetector(手势侦测器)将此MotionEvent对象移交给OnGestureListener。 (4)OnGest...

w161513820的博客 3168
上一篇: Android studio App开发 自动完成文本框AutoCompleteTextView,输入时自动检索相似结果
下一篇: 蓝桥杯题目练习 基础篇 十六进制转十进制
Ace_bb
博客等级 码龄8年 386粉丝 249原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值