控件 -- ViewFlipper

一、概念

ViewFlipper是用于实现轮播的控件。

二、常用方法

setInAnimation:设置View进入屏幕时候使用的动画。
setOutAnimation:设置View退出屏幕时候使用的动画。
showPrevious:显示ViewFlipper里面的上一个View。
showNext :显示ViewFlipper里面的下一个View。
setFlipInterval:设置View之间切换的时间间隔。
startFlipping:使用setFlipInterval方法设置的时间间隔来开始切换所有的View,切换会循环进行。
stopFlipping:停止View切换。
isFlipping:用来判断View切换是否正在进行。
setDisplayedChild:切换到指定子View。

三、使用

private void setViewFlipper() {
    mViewFlipper = (ViewFlipper) findViewById(R.id.flipper);

    //添加要滚动的View
    mViewFlipper.addView(getImageView(R.drawable.abcde_a));
    mViewFlipper.addView(getImageView(R.drawable.abcde_b));
    mViewFlipper.addView(getImageView(R.drawable.abcde_c));

    //设置开始和结束动画
    mViewFlipper.setInAnimation(this, R.anim.push_up_in);
    mViewFlipper.setOutAnimation(this, R.anim.push_up_out);

    //设置间隔时间
    mViewFlipper.setFlipInterval(3000);

    //动画的监听
    mViewFlipper.getInAnimation().setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {
            //动画开始时
        }

        @Override
        public void onAnimationEnd(Animation animation) {
            //动画结束时
        }

        @Override
        public void onAnimationRepeat(Animation animation) {
            //重复
        }
    });

    //开始轮播
    mViewFlipper.startFlipping();
}

private ImageView getImageView(int res) {
    ImageView imageView = new ImageView(this);
    imageView.setBackgroundResource(res);
    return imageView;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,288评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,241评论 4 61
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,606评论 8 265
  • “君不见,青海头,古来白骨无人收。新鬼烦怨旧鬼哭,天阴雨湿声啾啾。” 日久天长的,侵晓养成了一个习惯,每天傍晚“吃...
    bookborn阅读 497评论 0 0
  • 我的体育老师 李宇欣 1603 我的体育老师,是一名男老师。他姓李,三十几岁,中等个儿...
    桃桃100阅读 1,331评论 0 0