public class ImageSwitcherActivity extends Activity implements OnClickListener,
        ViewFactory {
    // 所有要显示图片资源索引
    private static final Integer[] imageList = { R.drawable.button1,
            R.drawable.button2, R.drawable.button3, R.drawable.button31,
            R.drawable.ic_launcher };
    // 创建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
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
            // 创建一个线性布局LinearLayout
            LinearLayout main_view = new LinearLayout(this);
            // 创ImageSwithcer对象
            m_Switcher = new ImageSwitcher(this);
            // 在线性布局中添加ImageSwitcher视图
            main_view.addView(m_Switcher);
            // 设置ImageSwither对象的ID
            m_Switcher.setId(SWITCHER_ID);
            // 设置ImageSwithcer对象的数据源
            m_Switcher.setFactory(this);
            m_Switcher.setImageResource(imageList[index]);
            // 设置显示上面创建的线性布局
            setContentView(main_view);
            // 设置按钮位置属性
            LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
                    100, 100);
            // 创建“下一张”按钮
            Button next = new Button(this);
            next.setId(BUTTON_DWON_ID);
            next.setText("下一张");
            next.setOnClickListener(this);
            main_view.addView(next, param);

// 创建“上一张”按钮
            Button pre = new Button(this);
            pre.setId(BUTTON_UP_ID);
            pre.setText("上一张");
            pre.setOnClickListener(this);
            main_view.addView(pre, param);
    }

@Override
    public View makeView() {
        // 将所有图片通过ImageView来显示

return new ImageView(this);
    }

// 事件监听、处理
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        // 下一页
        case BUTTON_DWON_ID:
            index++;
            if (index >= imageList.length) {
                index = 0;
            }
            // 设置ImageSwithcer对象资源索引
            m_Switcher.setImageResource(imageList[index]);
            break;

case BUTTON_UP_ID:
            index--;
            if (index < 0) {
                index = imageList.length - 1;
            }
            // 设置ImageSwithcer对象资源索引
            m_Switcher.setImageResource(imageList[index]);
            break;
        default:
            break;
        }
    }

}

Android——ImageSwitcher 图片切换的更多相关文章

  1. Android 高级UI设计笔记12:ImageSwitcher图片切换器

    1. ImageSwitcher ImageSwitcher是Android中控制图片展示效果的一个控件,如:幻灯片效果...,颇有感觉啊.做相册一绝 2. 重要方法 setImageURI(Uri  ...

  2. 从零開始学android&lt;ImageSwitcher图片切换组件.二十六.&gt;

    ImageSwitcher组件的主要功能是完毕图片的切换显示,比如用户在进行图片浏览的时候.能够通过button点击一张张的切换显示的图片,并且使用ImageSwitcher组件在每次切换的时候也能够 ...

  3. Android学习笔记 ImageSwitcher图片切换组件的使用

    activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu ...

  4. ImageSwitcher 图片切换器

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  5. ImageSwitcher图片切换的简单用例

    ImageSwitcher的原理:ImageSwitcher有两个子View:ImageView,当左右滑动的时候,就在这两个ImageView之间来回切换来显示图片 实现左右滑动切换图片 BaseA ...

  6. Android 单击图片切换效果

    新建一个Android项目,命名为FrameLayout 此实例主要操作src文件夹下的MainActivity.Java类文件和res/layout下的activity_main.xml布局文件 1 ...

  7. Android 自学之网格试图(GridView)和图片切换器(ImageSwitcher)功能和用法

    网格试图(GridView)用于在界面上按行,列分布的方式来显示多个组件. GridView和ListView有共同的父类:AbsListView,因此GridView和ListView具有一定的相似 ...

  8. Android中使用ImageViewSwitcher实现图片切换轮播导航效果

    前面写过了使用ViewFlipper和ViewPager实现屏幕中视图切换的效果(ViewPager未实现轮播)附链接: Android中使用ViewFlipper实现屏幕切换 Android中使用V ...

  9. Android应用开发学习之图片切换器

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 如果我们要实现类似Windows的照片查看器切换上一张下一张照片的效果,可以使用图片切换器ImageSwitcher ...

随机推荐

  1. mysql-mmm高可用配置说明

    http://www.cnblogs.com/gomysql/p/3671896.html 实战配置 http://www.cnblogs.com/chenmh/p/5744227.html 半同步配 ...

  2. RMAN备份与恢复之spfile

    1.备份spfile 有关控制文件及参数文件备份的几种形式: 单独备份控制文件及参数文件 RMAN> backup current controlfile; 备份数据文件时包含控制文件 RMAN ...

  3. 本地计算机上的OracleOraDb11g_home1TNSListener服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。——Oracle监听器服务无法启动!

    问题: oracle服务设置为手动启动.但是开机后手动启动监听服务后弹出框,提示“本地计算机上的OracleOraDb11g_home1TNSListener服务启动后停止.某些服务在未由其他服务或程 ...

  4. 111个知名Java项目集锦,包括url和描述

    转:http://www.cnblogs.com/wangs/p/3282183.html 项目名称   项目描述 ASM Java bytecode manipulation framework A ...

  5. HackerRank "Poisonous Plants"

    I had the same BFS idea as one of the AC code this: because dying pattern is spead from the initial ...

  6. nand flash,nor flash,spi flash,片上RAM,片外RAM

    Flash有掉电数据保存的特点,RAM掉电则数据丢失,但是RAM的速度更高,擦写次数理论上没有限制,而Flash则不行. Nand Flash相比其余的几种flash优势在于可擦写次数多,擦写速度快, ...

  7. .NET简谈插件系统开发模式

    摘选自[王清培]博客 http://www.cnblogs.com/wangiqngpei557/archive/2011/06/10/2077413.html 今天跟大家分享一下我们在日常开发中并不 ...

  8. hadoop mapred-queue-acls 配置(转)

    hadoop作业提交时可以指定相应的队列,例如:-Dmapred.job.queue.name=queue2通过对mapred-queue-acls.xml和mapred-site.xml配置可以对不 ...

  9. Navicat(连接) -1之Navicat Cloud

    Navicat Cloud Navicat Cloud 提供一个云服务,同步不同机器和平台的 Navicat 连接.查询.模型和虚拟组.当添加一个连接到 Navicat Cloud,它的连接设置和查询 ...

  10. SOA_环境安装系列3_Oracle Weblogic安装和环境搭建(案例)

    2014-01-03 Created By BaoXinjian