Android怎么实现垂直跑马灯效果

  介绍

这篇文章主要介绍Android怎么实现垂直跑马灯效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

在我们开发过程中,跑马灯这个功能非常实用的,在实现这个功能的时候,这个时候我们通常需要找演示来实现这个方法,我从github上面找到这个演示感觉很好用,所以就要实现了这个功能喽MarqueeView,看这个工具类,因为我找这个类的时候是没有点击事件的,所以我给它加了一个点击事件,看这个工具类

public  class  MarqueeView  extends  ViewFlipper  {      ,private  Context  mContext;   ,private  List< String>,通知;   ,private  boolean  isSetAnimDuration =,假;   ,private  int  contentSize;   ,private  int  interval =, 1000;   ,private  int  animDuration =, 500;   ,private  int  textSize =, 14;   ,private  int  textColor =, 0 xffffffff;   ,private  int  gravity =, Gravity.LEFT  |, Gravity.CENTER_VERTICAL;   ,//点击事件   ,private  OnItemClickListener  onItemClickListener;      ,public  MarqueeView (Context 上下文,AttributeSet  attrs), {   ,超级(上下文,attrs);   ,init(上下文,attrs, 0);   ,}      ,private  void  init (Context 上下文,AttributeSet  attrs,, int  defStyleAttr), {=,this.mContext 语境;   ,if  (notices ==, null), {=,,notices  new  ArrayList<在();   ,}      ,TypedArray  TypedArray =, getContext () .obtainStyledAttributes (attrs, R.styleable.MarqueeViewStyle,, defStyleAttr,, 0);=,,interval  typedArray.getInteger (R.styleable.MarqueeViewStyle_mvInterval,间隔);=,,isSetAnimDuration  typedArray.hasValue (R.styleable.MarqueeViewStyle_mvAnimDuration);=,,animDuration  typedArray.getInteger (animDuration R.styleable.MarqueeViewStyle_mvAnimDuration也);   ,if  (typedArray.hasValue (R.styleable.MarqueeViewStyle_mvTextSize)), {=,textSize  (int), typedArray.getDimension (textSize R.styleable.MarqueeViewStyle_mvTextSize也);=,,textSize  DisplayUtil.px2sp (textSize mContext也);   ,}=,,textColor  typedArray.getColor(输入textColor R.styleable.MarqueeViewStyle_mvTextColor也);   ,typedArray.recycle ();      ,setFlipInterval(间隔);      ,Animation  animIn =, AnimationUtils.loadAnimation (R.anim.anim_marquee_in mContext也);   ,if  (isSetAnimDuration), animIn.setDuration (animDuration);   ,setInAnimation (animIn);      ,Animation  animOut =, AnimationUtils.loadAnimation (R.anim.anim_marquee_out mContext也);   ,if  (isSetAnimDuration), animOut.setDuration (animDuration);   ,setOutAnimation (animOut);   ,}      ,//根据公告字符串启动轮播   ,public  void  startWithText (final  String 通知),{   ,if  (TextUtils.isEmpty(注意),返回;   ,getViewTreeObserver () .addOnGlobalLayoutListener (new  ViewTreeObserver.OnGlobalLayoutListener (), {   ,@Override   ,public  void  onGlobalLayout (), {   ,getViewTreeObserver () .removeGlobalOnLayoutListener(这个);   ,startWithFixedWidth(注意,getWidth ());   ,}   ,});   ,}      ,//根据公告字符串列表启动轮播   ,public  void  startWithList (ListAndroid怎么实现垂直跑马灯效果