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. 【python】浅谈enumerate 函数

    enumerate 函数用于遍历序列中的元素以及它们的坐标: >>> for i,j in enumerate(('a','b','c')):  print i,j 0 a 1 b ...

  2. 面向对象设计模式--策略模式Strategy

    策略模式的UML类图(VS2013 C++版本): 策略模式的重点:每个策略对象封装一个算法,有多少个算法就有多少个对象.策略模式的意图是封装算法.要从“抽象不仅面对状态(字段.属性)还面对行为(算法 ...

  3. win8以管理员身份安装软件

    win8以管理员身份安装软件 msiexec /package

  4. 服务器判断客户端为移动端还是PC端

    public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/html&quo ...

  5. android学习笔记31——ADB命令

    使用Adb shell command直接送key event給Androidadb shell input keyevent 7 # for key '0'adb shell input keyev ...

  6. [系统开发] Bind DNS 管理系统

    一.问题的产生 很多公司的 DNS 是用 BIND 建立的:DNS 服务非常重要,BIND 功能虽然强大,但是是基于配置文件进行管理的,管理员对 DNS 进行的任何操作都要通过修改配置文件来实现,稍不 ...

  7. [工具开发] Perl 爬虫脚本--从美国国家漏洞数据库抓取实时信息

    一.简介 美国国家漏洞数据库收集了操作系统,应用软件的大量漏洞信息,当有新的漏洞出现时,它也会及时发布出来. 由于信息量巨大,用户每次都需要到它的网站进行搜索,比较麻烦.如果能有个工具,每天自动分析它 ...

  8. HTML ISO-8859-1 参考手册

    HTML 4.01 支持 ISO 8859-1 (Latin-1) 字符集. ISO-8859-1 的较低部分(从 1 到 127 之间的代码)是最初的 7 比特 ASCII. ISO-8859-1 ...

  9. (C#) 调用执行批处理文件

    Task:  在Windows的Service里面定时的调用执行一个批处理文件. private ApplicationOutput RunCommandOnPC(string executableP ...

  10. NeHe OpenGL教程 第十三课:图像字体

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...