先看效果:
QQ图片20210511231831.gif
1.xml代码:
android:id="@+id/viewFlipper"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:flipInterval="3000"
android:inAnimation="@anim/anim_marquee_in"
android:outAnimation="@anim/anim_marquee_out" />
2.具体实现:
(1)关键代码:
// 轮播的图片集合
List picList;
//......................
//..........此处省去初始化picList......
//......................
viewFlipper.removeAllViews();
for (int i = 0; i < picList.size(); i++) {
final String pic = picList.get(i);
// 此处可以换成自己自定义的布局,根据需求
ImageView iv = new ImageView(context);
iv.setImageResource(R.mipmap.bg);
// 循环滚动图片的点击事件
iv.setOnClickListener(listener);
viewFlipper.addView(iv);
viewFlipper.setAutoStart(true);
}
viewFlipper.setFlipInterval(3 * 1000);
viewFlipper.startFlipping();
(2)轮播动画:android:inAnimation + android:outAnimation
anim_marquee_in
android:duration="1500"
android:fromYDelta="100%p"
android:toYDelta="0"/>
anim_marquee_out
android:duration="1500"
android:fromYDelta="0"
android:toYDelta="-100%p"/>