在设计之前,我们需要设计两个动画,一个进入动画、一个退出动画。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android=""><translateandroid:duration="500"android:fromXDelta="100%p"android:toXDelta="0"/></set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android=""><translateandroid:duration="500"android:fromXDelta="0"android:toXDelta="-100%p"/></set>
<LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:padding="40dp"><ViewFlipperandroid:id="@+id/advertise"android:layout_width="match_parent"android:layout_height="match_parent"/></LinearLayout>
对象
private ViewFlipper advertise; // 轮播图控件private Animation[] animations = new Animation[2]; // 动画数组final int FLAG = 0x001; // 消息代码private Message message; // 消息对象
参数
/*** 此处应为后端接收的广告数据,简单点来,直接使用保存的四张图片* @return*/private int[] getAdvertiseImages() {return new int[]{R.drawablem_one,R.drawablem_two,_three,_fove};}
配置
@Overrideprotected void onCreate(Bundle savedInstanceState) {Create(savedInstanceState);setContentView(R.layout.activity_main);// 初始化init();}private void init() {advertise = findViewById(R.id.advertise);int[] advertises = getAdvertiseImages();// 广告瀑布AdvertiseFlipper(advertises);}private void AdvertiseFlipper(int[] images) {for (int i = 0 ; i < images.length ; i++){ImageView imageView = new ImageView(this);imageView.setImageResource(images[i]);advertise.addView(imageView);}animations[0] = AnimationUtils.loadAnimation(this, R.anim.slide_in_right);animations[1] = AnimationUtils.loadAnimation(this, R.anim.slide_out_left);advertise.setInAnimation(animations[0]); //广告进入画面advertise.setOutAnimation(animations[1]); //广告退出画面message = Message.obtain(); //获得对象message.what = FLAG; //设置消息代码handler.sendMessage(message); //发送}Handler handler = new Handler(){@Overridepublic void handleMessage(Message msg) {if (msg.what == FLAG){advertise.showPrevious();}message = handler.obtainMessage(FLAG);handler.sendMessageDelayed(message,3000); //设置3秒延迟}};
本文发布于:2024-01-30 19:31:50,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170661431122309.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |