Android仿淘宝首页头条View垂直滚动效果

 更新时间:2017年05月24日 09:30:05   作者:搬运工小孟  
这篇文章主要为大家详细介绍了Android仿淘宝首页头条View垂直滚动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

之前本来是打算做TextView垂直向上滚动的,后来发现一位大神做得很好,https://github.com/sfsheng0322/MarqueeView 孙福生大神,然后自己要用到多个View向上滚动,也就是类似淘宝首页头条的那种滚动,所以就按照那个思路想了系啊,可以把View拿来滚动,这样可以自己随意的修改View里面的内容,还比较简单一些。所以这个整个思路就是把View就行循环滚动。

看一下循环滚动View的内容咋写的吧,非常简单。

package com.dreamlive.upmarqueeview; 
 
import android.content.Context; 
import android.util.AttributeSet; 
import android.view.View; 
import android.view.animation.Animation; 
import android.view.animation.AnimationUtils; 
import android.widget.ViewFlipper; 
 
import java.util.List; 
 
/** 
 * 仿淘宝首页的 淘宝头条滚动的自定义View 
 * 
 * Created by dreamlive on 2016/7/20. 
 */ 
public class UPMarqueeView extends ViewFlipper { 
 
 private Context mContext; 
 private boolean isSetAnimDuration = false; 
 private int interval = 2000; 
 /** 
 * 动画时间 
 */ 
 private int animDuration = 500; 
 
 public UPMarqueeView(Context context, AttributeSet attrs) { 
 super(context, attrs); 
 init(context, attrs, 0); 
 } 
 
 private void init(Context context, AttributeSet attrs, int defStyleAttr) { 
 this.mContext = context; 
 setFlipInterval(interval); 
 Animation animIn = AnimationUtils.loadAnimation(mContext, R.anim.anim_marquee_in); 
 if (isSetAnimDuration) animIn.setDuration(animDuration); 
 setInAnimation(animIn); 
 Animation animOut = AnimationUtils.loadAnimation(mContext, R.anim.anim_marquee_out); 
 if (isSetAnimDuration) animOut.setDuration(animDuration); 
 setOutAnimation(animOut); 
 } 
 
 
 /** 
 * 设置循环滚动的View数组 
 * 
 * @param views 
 */ 
 public void setViews(List<View> views) { 
 if (views == null || views.size() == 0) return; 
 removeAllViews(); 
 for (int i = 0; i < views.size(); i++) { 
 addView(views.get(i)); 
 } 
 startFlipping(); 
 } 
 
 
}

MainActivity的内容:

github地址:https://github.com/dreamlivemeng/UpMarqueeTextView-master 欢迎star,fork,提pr,issues。

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

最新评论