我们在Windows 平台上要查看多张图片,最简单的办法就是通过 "Window 图片和传真查看器“在 ”下一张“ 和”上一张“之间切换,Android平台上可以通过 ImageSwitcher 类来实现这一效果。ImageSwitcher 类必须设置一个ViewFactory,主要用来将显示的图片和父窗口区分开来,因此需要实现ViewSwitcher.ViewFactory接口,通过makeView()方法来显示图片,这里会返回一个ImageView
对象,而方法 setImageResource用来指定图片资源。首先先让我们看看这个例子的运行效果。
Java代码:
package eoe.Demo;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ViewSwitcher.ViewFactory;
public class Activity01 extends Activity implements OnClickListener,
ViewFactory {
// 所有要显示的图片资源索引
private static final Integer[] imagelist = { R.drawable.img1,
R.drawable.img2, R.drawable.img3, R.drawable.img4, R.drawable.img5,
R.drawable.img6, R.drawable.img7, R.drawable.img8, };
// 创建ImageSwitcher对象
private ImageSwitcher m_Switcher;
// 索引
private static int index = 0;
// "下一页"按钮ID
private static final int BUTTON_DWON_ID = 0x123456;
// “上一页”按钮ID
private static final int BUTTON_UP_ID = 0x123457;
// ImageSwitcher对象的ID
private static final int SWITCHER_ID = 0x123458;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 创建一个线性布局LinearLayout
LinearLayout main_view = new LinearLayout(this);
// 创建ImageSwitcher对象
m_Switcher = new ImageSwitcher(this);
// 在线性布局中添加ImageSwitcher视图
main_view.addView(m_Switcher);
// 设置ImageSwitcher对象的ID
m_Switcher.setId(SWITCHER_ID);
// 设置ImageSwitcher对象的数据源
m_Switcher.setFactory((ViewFactory) this);
m_Switcher.setImageResource(imagelist[index]);
// 设置显示上面的线性布局
setContentView(main_view);
// 设置背景图片
main_view.setBackgroundResource(R.drawable.xh);
// 创建“下一张”按钮
Button next = new Button(this);
next.setId(BUTTON_DWON_ID);
next.setText("下一张");
next.setOnClickListener((OnClickListener) this);
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(100,
100);
main_view.addView(next, param);
// 创建“上一张”按钮
Button pre = new Button(this);
pre.setId(BUTTON_UP_ID);
pre.setText("上一张");
pre.setOnClickListener((OnClickListener) this);
main_view.addView(pre, param);
}
// 事件监听、处理
public void onClick(View v) {
switch (v.getId()) {
// 下一页
case BUTTON_DWON_ID:
index++;
if (index >= imagelist.length) {
index = 0;
}
// ImageSwitcher对象资源索引
m_Switcher.setImageResource(imagelist[index]);
break;
// 上一页
case BUTTON_UP_ID:
index--;
if (index < 0) {
// 到最后一张
index = imagelist.length - 1;
}
// ImageSwitcher对象资源索引
m_Switcher.setImageResource(imagelist[index]);
default:
break;
}
}
public View makeView() {
// 将所有图片通过ImageView来显示
return new ImageView(this);
}
}
分享到:
相关推荐
在Android开发中,实现图片左右切换的交互效果是常见的需求,比如在相册应用或者一些动态展示界面。这里我们将深入探讨如何使用`ImageSwitcher`组件来达成这一目标,同时对比`ViewFlipper`和`ViewPager`的区别和应用...
`ImageSwitcher`则是专门为展示图片设计的,它默认包含了两个`ImageView`,并且在切换图片时会自动添加适当的动画效果,使得图片的切换更为自然。 使用`ImageSwitcher`需要以下几个步骤: 1. **布局中添加...
总之,Android的ImageSwitcher组件为开发者提供了方便的方式来展示和切换图片,结合适配器和动画效果,可以实现各种复杂的图片浏览和交互功能。通过理解并实践上述知识点,你可以更好地利用ImageSwitcher来提升你的...
本文实例讲述了Android开发之ImageSwitcher相册功能。分享给大家供大家参考,具体如下: ...3.中重要的是:ImageSwitcher增加了图片切换动画,使得图片的切换更加自然 这里看下运行效果: 这个例子中,看考
其次,加载和切换图片主要通过`setImageResource()`或`setImageDrawable()`方法实现。当你需要切换图片时,只需调用这些方法并传入新的图片资源ID或Drawable对象。值得注意的是,由于ImageSwitcher内部有两个...
`ImageSwitcher`继承自`ViewSwitcher`,并添加了对显示和切换图片的支持。在XML布局文件中,我们可以像这样引入`ImageSwitcher`: ```xml <androidx.appcompat.widget.ImageSwitcher android:id="@+id/switcher" ...
图像切换器使用ImageSwitcher表示,用于实现类似于Windows操作系统下的“Windows照片查看器”中的上一张、下一张切换图片的功能。在使用ImageSwitcher时,必须实现ViewSwitcher.ViewFactory接口,并通过makeView()...
为了响应用户操作,如点击按钮切换图片,你可以添加一个OnClickListener到ImageSwitcher上,然后在onClick()方法中调用`showNext()`或`showPrevious()`。 在实际开发中,你可能还需要处理一些额外的情况,例如加载...
而ImageSwitcher是Android提供的一个视图切换器,适用于在两个ImageView之间平滑地切换图片,常用于实现图片轮播或者类似的效果。在这个场景中,我们将讨论如何结合这两种组件来实现一个图片左右滑动切换的功能。 ...
在Android开发中,ImageSwitcher是一个非常有用的组件,它用于在两个ImageView之间切换显示图片,通常用于实现动画效果,比如在用户向导或幻灯片展示中。本教程将详细介绍如何在Android应用中使用ImageSwitcher来...
在使用ImageSwitcher切换图片时,可以通过Animation类指定切换图片时的动画显示效果。要想使用Animation类(动画类),还需使用AnimationUtils类完成。 图像切换器ImageSwitcher 图像切换器ImageSwitcher ...
- 为了防止快速滑动导致图片错乱,可以使用`OnFlingListener`检测用户的滑动速度,以决定是否立即切换图片。 7. **异常处理** - 编写异常处理代码,处理可能出现的网络错误、文件不存在等问题,提供友好的错误...
为了实现平滑的过渡,可以先设置一个加载中的图片,然后在后台加载新的大图,加载完成后通过`imageSwitcher.showNext()`或`imageSwitcher.showPrevious()`切换图片,这样可以添加动画效果。 7. **优化性能**:为了...
切换图片** 调用`setImageResource()`或`setImageDrawable()`方法来切换ImageSwitcher中的图片: ```java imageSwitcher.setImageResource(R.drawable.new_image); ``` 或者 ```java imageSwitcher....
5. 在按钮的点击事件中,使用ImageSwitcher的setImageResource()方法切换图片。 ImageSwitcher的优点: 1. 可以实现图片浏览器中的上一张、下一张的功能。 2. 可以自定义图片显示的容器。 3. 使用简单,易于实现。...
在Android开发中,"Gallery Imageswitcher切换图片demo"是一个典型的图像展示与切换的应用实例,主要涉及了Gallery组件和ImageSwitcher两个核心元素。Gallery是一个可以横向滑动浏览的控件,而ImageSwitcher则是一个...
`setImageResource()`方法被用来切换图片,传入的参数是图片资源的ID。 在实现`ViewFactory`和`OnClickListener`接口后,我们可以通过点击按钮来实现图片的左右切换。每次点击,`index`会递增或递减,从而改变显示...
在Android开发中,`Gallery`和`ImageSwitcher`是两个常用的组件,它们分别用于展示图像集合和实现平滑的图像切换效果。本教程将详细讲解如何利用这两个组件实现一个同步自动滚动播放图片库的功能。 首先,让我们...