怎么在Android中实现一个滚动条广告

  介绍

这篇文章将为大家详细讲解有关怎么在Android中实现一个滚动条广告,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

<强> ViewSwitcher的介绍

<强> ViewSwitcher设置动画

ViewSwitcher代表了视图切换组件,本身继承了FrameLayout,可以将多个视图叠在一起,每次只显示一个组件,ViewSwitcher支持指定动画效果。我们自定义ViewSwitcher的时候,当程序控制从一个视图切换到另个视图时,我们可以可以重写下面这两个方法来设置组件切换动画效果

setInAnimation (Animation 不活动)   setOutAnimation (Animation  outAnimation)

<强> ViewSwitcher设置视图

给ViewSwitcher设置视图的方法时是调用下面这个方法

setFactory (ViewFactory 工厂)

这个ViewFactory是一个接口,里面有一个makeview方法,正是通过这个方法我们构造并显示在ViewSwitcher,当然我们自定义ViewSwitcher时候,这里是传入一个布局id,这样我们就可以自由的设置显示布局啦~

,,/*,给viewSwitch添加显示的视图,可以自由设置,外部调用,,,   *,才能@param  layoutId ,   */才能,   ,public  void  addView (final  int  layoutId) {,,   ,,setFactory (new  ViewFactory () {,,,   ,,,@Override ,,,   ,,,public  View  makeView (), {,,,,,   ,,,,,,,return  LayoutInflater.from (getContext ()) .inflate (layoutId, null),,,,   ,,,},,   ,,});   以前,,}

<强>实例介绍

实现原理还是比较简单,我们可以直接看代码,下面我们直接通过代码来介绍这个控件的使用吧

里面都有详细的注释,相信都可以看得懂。

/* *   ,*自由设置视图的viewSwitcher   ,* Created  by  Administrator 提醒2017/5/13。   ,*/public  class  CarouselView  extends  ViewSwitcher  {      private 才能;int  mCutItem;   private 才能;int  loopTime;//循环时间   private 才能;MyHandler  myHandler;   private 才能;ArrayList< String>, listString;      public 才能CarouselView (Context 上下文),{   ,,,这(上下文,null);   ,,}      public 才能;CarouselView (Context 上下文,AttributeSet  attrs), {   ,,,超级(上下文,attrs);   ,,,initData ();   ,,,initAnimation ();   ,,}      ,/* *   ,,*,初始化一些变量   ,,*/private 才能;void  initData () {   ,,,listString =, new  ArrayList<在();   ,,,myHandler =, new  MyHandler(这个);   ,,}      ,/* *   ,,*,给viewSwitch添加显示的视图,可以自由设置,外部调用   ,,*,@param  layoutId 自定义视图的布局id   ,,*/public 才能;void  addView (final  int  layoutId) {   ,,,setFactory (new  ViewFactory () {   ,,,,@Override   ,,,,,public  View  makeView (), {   ,,,,,,,return  LayoutInflater.from (getContext ()) .inflate (layoutId, null);   ,,,,,}   ,,,});   ,,}      ,/* *   ,,*,初始化进入和出去动画   ,,*/private 才能;void  initAnimation () {   ,,,setInAnimation (AnimationUtils.loadAnimation (R.anim.translate_in getContext ()));   ,,,setOutAnimation (AnimationUtils.loadAnimation (getContext ()), R.anim.translate_out));   ,,}      ,/* *   ,,*,设置数据源并展示看来,外部调用   ,,*,@param  mList   ,,*,@param 时间   ,,*/public 才能;void  upDataListAndView (ArrayList怎么在Android中实现一个滚动条广告