介绍
这篇文章将为大家详细讲解有关怎么在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中实现一个滚动条广告