`
wen742538485
  • 浏览: 239749 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

切换图片 ImageSwitcher(代码布局)

阅读更多
我们在Windows 平台上要查看多张图片,最简单的办法就是通过 "Window 图片和传真查看器“在 ”下一张“ 和”上一张“之间切换,Android平台上可以通过 ImageSwitcher 类来实现这一效果。ImageSwitcher 类必须设置一个ViewFactory,主要用来将显示的图片和父窗口区分开来,因此需要实现ViewSwitcher.ViewFactory接口,通过makeView()方法来显示图片,这里会返回一个ImageView 对象,而方法 setImageResource用来指定图片资源。首先先让我们看看这个例子的运行效果。


示例
Java代码 
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

    `ImageSwitcher`则是专门为展示图片设计的,它默认包含了两个`ImageView`,并且在切换图片时会自动添加适当的动画效果,使得图片的切换更为自然。 使用`ImageSwitcher`需要以下几个步骤: 1. **布局中添加...

    基于ImageSwitcher实现图片左右切换

    总结来说,`ImageSwitcher`适用于简单图片轮播,它自带了切换动画,适合快速实现图片左右切换的功能。`ViewFlipper`适用于无手势的定时切换,而`ViewPager`则更适合需要多页面交互和内容展示的场景。根据实际项目...

    Android画廊组件实现图片切换

    为了实现平滑的过渡,可以先设置一个加载中的图片,然后在后台加载新的大图,加载完成后通过`imageSwitcher.showNext()`或`imageSwitcher.showPrevious()`切换图片,这样可以添加动画效果。 7. **优化性能**:为了...

    自定义ImageSwitcher实现更新图片切换效果

    `ImageSwitcher`继承自`ViewSwitcher`,并添加了对显示和切换图片的支持。在XML布局文件中,我们可以像这样引入`ImageSwitcher`: ```xml &lt;androidx.appcompat.widget.ImageSwitcher android:id="@+id/switcher" ...

    ImageSwitcher自动切换

    Runnable的run()方法将用于切换图片。 4. **Runnable的run()方法**: 在run()方法中,我们首先获取当前显示的图片索引,然后根据需要加1(或减1,取决于轮播方向)以得到下一个图片的索引。接着,使用...

    Android控件ImageSwitcher图片切换器

    其次,加载和切换图片主要通过`setImageResource()`或`setImageDrawable()`方法实现。当你需要切换图片时,只需调用这些方法并传入新的图片资源ID或Drawable对象。值得注意的是,由于ImageSwitcher内部有两个...

    imageswitcher

    接下来,我们将深入探讨这个主题,了解如何使用"imageswitcher"实现图片预览切换功能,并探索相关的技术知识点。 首先,我们来讨论"imageswitcher"的基本工作原理。通常,这种工具会基于某种编程语言(如JavaScript...

    Gallery&ImageSwitcher;实现图片浏览效果

    `ImageSwitcher`则是一个专为切换图片设计的视图,它继承自`ViewSwitcher`。`ViewSwitcher`家族的成员可以在两个子视图之间进行切换,通常用于动画过渡效果。`ImageSwitcher`特别之处在于它只接受`ImageView`作为子...

    ImageSwitcher和Gallery浏览图片

    本篇文章将详细探讨如何利用`ImageSwitcher`和`Gallery`两个组件来实现一个高效的图片浏览程序。这种组合方式不仅可以为用户提供流畅的图片切换体验,还能有效管理内存资源,避免不必要的加载,提高性能。 #### 二...

    ImageSwitcher

    8. **用户交互**:除了自动切换,ImageSwitcher通常还支持用户手动切换图片,例如通过点击或滑动操作。这种交互设计增强了用户体验,让用户有更多的控制权。 9. **自定义扩展**:对于高级用户,ImageSwitcher可能...

    Android中ProgressBar、SeekBar、RatingBar、ImageSwitcher实现相册滑动示例代码

    ImageSwitcher是一个用于快速在两张图片之间切换的视图,常用于实现类似幻灯片的效果。在相册应用中,ImageSwitcher非常适合用于展示相册中的图片,当用户轻扫屏幕时,ImageSwitcher可以平滑地过渡到下一张图片,...

    ImageSwitcher 和 Gallery 的结合使用

    要使用ImageSwitcher,你需要在XML布局文件中添加它,并设置其适配器,然后在代码中切换图片。 ```xml &lt;ImageSwitcher android:id="@+id/switcher" android:layout_width="match_parent" android:layout_height=...

    Android UI控件之ImageSwitcher实现图片切换效果

    在本文的示例代码中,我们使用了ImageSwitcher来实现图片浏览器中的上一张、下一张的功能。我们首先在布局文件中添加ImageSwitcher控件,并设置其ID。在Activity中,我们获取ImageSwitcher控件,并设置其ViewFactory...

    ImageSwitcher图片查看示例

    - 使用`setImageResource()`或`setImageBitmap()`方法来切换图片,每次调用都会触发内部的视图切换动画。 3. **动画效果**:ImageSwitcher默认提供了切换动画,如淡入淡出、左右滑动等。可以通过`setInAnimation()...

    本示例为Gallery 及ImageSwitcher组件用法

    总结来说,`Gallery`是一个用于水平滑动浏览项目的组件,而`ImageSwitcher`是一个用于平滑切换图片的视图。两者结合使用,可以创建出具有丰富交互性的图片浏览应用。在实际开发中,可以根据具体需求调整它们的属性和...

    gallery+imageswitcher滑动切换照片简单demo

    4. **切换图片**:在`onItemSelected()`中,使用`ImageSwitcher`的`setImageResource()`或`setImageBitmap()`方法设置新的图片。同时,可以使用`ImageSwitcher`的`setInAnimation()`和`setOutAnimation()`方法设置...

    Android常用控件ImageSwitcher使用方法详解

    图像切换器使用ImageSwitcher表示,用于实现类似于Windows操作系统下的“Windows照片查看器”中的上一张、下一张切换图片的功能。在使用ImageSwitcher时,必须实现ViewSwitcher.ViewFactory接口,并通过makeView()...

    图片轮播 文字轮播 ImageSwitcher TextSwitcher

    4. 使用setImageResource()或setImageBitmap()方法切换图片,ImageSwitcher会自动处理动画效果。 例如,你可以创建一个自定义的ViewFactory,如下所示: ```java ImageSwitcher imageSwitcher = findViewById(R.id...

Global site tag (gtag.js) - Google Analytics