【Android开发基础】轮播图ViewFlipper

阅读: 评论:0

【Android开发基础】轮播图ViewFlipper

【Android开发基础】轮播图ViewFlipper

  • 描述:如果一个软件需要加入广告模块,但又需要符合开发标准,不能覆盖底层控件,且不能接近系统操作按钮。
  • 难度:初级
  • 知识点:
  • 1、Animation动画的使用
  • 2、ViewFlipper配置

1、Animation

在设计之前,我们需要设计两个动画,一个进入动画、一个退出动画。

<?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>

2、UI设计

	<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>

3、后台功能实现

对象

	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小时内删除。

标签:基础   Android   ViewFlipper   轮播图
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23