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. C#.NET vs2010中使用IrisSkin4.dll轻松实现WinForm窗体换肤功能

    IrisSkin2.dll是一款很不错的免费皮肤控件,利用它可以轻松的实现WinForm窗体换肤 然而IrisSkin2.dll只能在.NET Faremwork 4.0以及之前的版本使用,所以要在V ...

  2. Java ArrayList操作

    import java.util.ArrayList; import java.util.List; import java.util.Iterator; public class Study { p ...

  3. Object-C中需要注意的小细节

    --------------------------------------------关于命名------------------------------------------------- 1. ...

  4. bzoj1346: [Baltic2006]Coin

    Description 有一个国家,流通着N种面值的硬币,其中包括了1分硬币.另外,有一种面值为K分的纸币,它超过了所有硬币的面值. 有一位硬币收藏家,他想收集每一种面值的硬币样本.他家里已经有一些硬 ...

  5. bzoj2537: [neerc2007]Language Recognition

    Description DFA(确定性有限状态自动机)是一个有向图,顶点称为状态,边称为转移.每个转移用一个字母标记.对于每个状态s和每个转移l,至多有一个转移从s出发且标记为l.DFA有一个初始状态 ...

  6. C语言每日一题之No.8

    正式面对自己第二天,突然一种强烈的要放弃的冲动,在害怕什么?害怕很难赶上步伐?害怕这样坚持到底是对还是错?估计是今天那个来了,所以身体激素有变化导致情绪起伏比较大比较神经质吧(☆_☆)~矮油,女人每个 ...

  7. (C#) 多线程修改布尔值, volatile

    参考: https://msdn.microsoft.com/en-us/library/x13ttww7(VS.80).aspx http://stackoverflow.com/questions ...

  8. 精妙SQL语句收集(转)

    SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作. 一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 ...

  9. PLSQL_性能优化系列20_Oracle Result Cash结果缓存

    20150528 Created By BaoXinjian

  10. PLSQL_性能优化系列10_Oracle Array数据组优化

    2014-09-25 Created By BaoXinjian