我们在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);
}
}
分享到:
相关推荐
基于ImageSwitcher实现图片左右切换,类似ViewFlipper,ViewPager的效果
Android 控件ImageSwitcher 图片切换器
在使用ImageSwitcher切换图片时,可以通过Animation类指定切换图片时的动画显示效果。要想使用Animation类(动画类),还需使用AnimationUtils类完成。 图像切换器ImageSwitcher 图像切换器ImageSwitcher ...
自定义ImageSwitcher实现更新图片切换效果
GridView+ImageSwitcher实现的图片切换(左滑右滑切换)
使用Gallery类及图片切换器ImageSwitcher实现图片的切换,上面布局是小图画廊,下面布局是大图显示。
因为工作需要,要做图片切换效果,在网上找了好久,找到的资源要么答非所问,要么没有通用性,我就想:难道这东西这么难做吗?于是自己动手,丰衣足食。 其实各种切换特效都能用Android的属性动画来做的,我就如此...
android ImageSwitcher 简单实现图片定时切换
图像切换器(ImageSwitcher),用于实现类似于Windows操作系统的“Windows照片查看器”中的上一张、下一张切换图片的功能。在使用ImageSwitcher时,必须实现ViewSwitcher.ViewFactory接口,并通过makeView()方法来...
主要为大家详细介绍了Android控件ImageSwitcher实现左右图片切换功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
主要为大家详细介绍了Android UI控件之ImageSwitcher实现图片切换效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
图像切换器(ImageSwitcher),用于实现类似于windows操作系统下的windows照片查看器中的上一张 下一张切换图片的功能,在使用ImageSwitcher时,必须实现ViewSwitcher.ViewFactory接口,并通过makeView()方法来创建...
主要介绍了Android基于ImageSwitcher实现图片切换功能的相关资料,需要的朋友可以参考下
本文实例讲述了Android开发之ImageSwitcher相册功能。分享给大家供大家参考,具体如下: ...3.中重要的是:ImageSwitcher增加了图片切换动画,使得图片的切换更加自然 这里看下运行效果: 这个例子中,看考
前面写过了使用ViewFlipper和...ImageSwitcher是Android中控制图片展示效果的一个控件,如:幻灯片效果 ImageSwitcher粗略的理解就是ImageView的选择器。 ImageSwitcher的原理:ImageSwitcher有两个子View:ImageView
图像切换器使用ImageSwitcher表示,用于实现类似于Windows操作系统下的“Windows照片查看器”中的上一张、下一张切换图片的功能。在使用ImageSwitcher时,必须实现ViewSwitcher.ViewFactory接口,并通过makeView()...