Android 淡入浅出动画 无限轮播 demo

废话不多,直接上代码:

    Handler handler = new Handler(new Handler.Callback() {
        /**
         * @param message
         * @return
         */
        @Override
        public boolean handleMessage(Message message) {
            TransitionDrawable transitionDrawable = new TransitionDrawable(new Drawable[]{drawableArray[position % drawableArray.length],
                    drawableArray[(position + 1) % drawableArray.length]});
            position++;
            imageView.setImageDrawable(transitionDrawable);
            transitionDrawable.startTransition(2000);
            Message msg = Message.obtain();
            msg.what = 1;
            handler.sendMessageDelayed(msg, 4000);
            return false;
        }
    });

通过handler 轮询,通过TransitionDrawable实现淡入淡出的动画效果。

注意: TransitionDrawable中的Drawable[]只能存放两张图片,所以需要通过handler发送消息及时替换TransitionDrawable。

你可能感兴趣的:(Android 淡入浅出动画 无限轮播 demo)