我们在Windows 平台上要查看多张图片,最简单的办法就是通过 "Window 图片和传真查看器“在 ”下一张“ 和”上一张“之间切换,Android平台上可以通过 ImageSwitcher 类来实现这一效果。ImageSwitcher 类必须设置一个ViewFactory,主要用来将显示的图片和父窗口区分开来,因此需要实现ViewSwitcher.ViewFactory接口,通过makeView()方法来显示图片,这里会返回一个ImageView 对象,而方法 setImageResource用来指定图片资源。首先先让我们看看这个例子的运行效果。
示例
package xiaohang.zhimeng;
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);
}
}
效果看 附件图片
源码 附件
- 大小: 38 KB
分享到:
相关推荐
总结来说,`ImageSwitcher`适用于简单图片轮播,它自带了切换动画,适合快速实现图片左右切换的功能。`ViewFlipper`适用于无手势的定时切换,而`ViewPager`则更适合需要多页面交互和内容展示的场景。根据实际项目...
在Android开发中,"Gallery Imageswitcher切换图片demo"是一个典型的图像展示与切换的应用实例,主要涉及了Gallery组件和ImageSwitcher两个核心元素。Gallery是一个可以横向滑动浏览的控件,而ImageSwitcher则是一个...
而ImageSwitcher是Android提供的一个视图切换器,适用于在两个ImageView之间平滑地切换图片,常用于实现图片轮播或者类似的效果。在这个场景中,我们将讨论如何结合这两种组件来实现一个图片左右滑动切换的功能。 ...
// 设置动画监听,以便在动画结束后切换图片 fadeOut.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) {} @Override public void ...
在使用ImageSwitcher切换图片时,可以通过Animation类指定切换图片时的动画显示效果。要想使用Animation类(动画类),还需使用AnimationUtils类完成。 图像切换器ImageSwitcher 图像切换器ImageSwitcher ...
首先,ImageSwitcher是ViewSwitcher的一个子类,它专门设计用于显示和切换图片。在默认情况下,ImageSwitcher提供了两种内置的切换动画:`IN_TO_RIGHT`和`RIGHT_TO_IN`,分别表示从左侧进入和右侧退出,以及从右侧...
智能家居系统 图片切换ImageSwitcher.doc 学习资料 复习资料 教学资源
当需要切换图片时,ImageSwitcher会调用工厂对象的`makeView()`方法来创建新的ImageView。 5. `showNext()`: 显示下一个图像,如果存在的话,同时根据设置的动画进行切换。 6. `showPrevious()`: 显示上一个图像,...
`ImageSwitcher`继承自`ViewSwitcher`,并添加了对显示和切换图片的支持。在XML布局文件中,我们可以像这样引入`ImageSwitcher`: ```xml <androidx.appcompat.widget.ImageSwitcher android:id="@+id/switcher" ...
为了实现平滑的过渡,可以先设置一个加载中的图片,然后在后台加载新的大图,加载完成后通过`imageSwitcher.showNext()`或`imageSwitcher.showPrevious()`切换图片,这样可以添加动画效果。 7. **优化性能**:为了...
Runnable的run()方法将用于切换图片。 4. **Runnable的run()方法**: 在run()方法中,我们首先获取当前显示的图片索引,然后根据需要加1(或减1,取决于轮播方向)以得到下一个图片的索引。接着,使用...
接下来,我们将深入探讨这个主题,了解如何使用"imageswitcher"实现图片预览切换功能,并探索相关的技术知识点。 首先,我们来讨论"imageswitcher"的基本工作原理。通常,这种工具会基于某种编程语言(如JavaScript...
其次,加载和切换图片主要通过`setImageResource()`或`setImageDrawable()`方法实现。当你需要切换图片时,只需调用这些方法并传入新的图片资源ID或Drawable对象。值得注意的是,由于ImageSwitcher内部有两个...
在Android开发中,`Gallery`和`ImageSwitcher`是两个常用的组件,它们分别用于展示图像集合和实现平滑的图像切换效果。本教程将详细讲解如何利用这两个组件实现一个同步自动滚动播放图片库的功能。 首先,让我们...
3. 使用`setImageResource()`方法来切换图片。 4. 可以结合`Animation`来实现平滑的过渡效果。 示例代码: ```java ImageSwitcher imageSwitcher = findViewById(R.id.image_switcher); imageSwitcher.setFactory...
6. **切换图片**:在`ImageSwitcher`中,使用`setImageResource()`或`setImageBitmap()`方法切换图片。为了实现平滑的过渡效果,记得调用`setInAnimation()`和`setOutAnimation()`设置进出动画。 7. **优化性能**:...
总之,Android的ImageSwitcher组件为开发者提供了方便的方式来展示和切换图片,结合适配器和动画效果,可以实现各种复杂的图片浏览和交互功能。通过理解并实践上述知识点,你可以更好地利用ImageSwitcher来提升你的...
本篇文章将详细探讨如何利用`ImageSwitcher`和`Gallery`两个组件来实现一个高效的图片浏览程序。这种组合方式不仅可以为用户提供流畅的图片切换体验,还能有效管理内存资源,避免不必要的加载,提高性能。 #### 二...