转化的效果git图看着好像有点卡顿,但实际还是很顺滑的~~

自定义AutoPollRecyclerView


public class AutoPollRecyclerView extends RecyclerView {private long TIME_AUTO_POLL = 16;AutoPollTask autoPollTask;private boolean running; //标示是否正在自动轮询private boolean canRun;//标示是否可以自动轮询,可在不需要的是否置falsepublic AutoPollRecyclerView(Context context, @Nullable AttributeSet attrs) {super(context, attrs);autoPollTask = new AutoPollTask(this);}static class AutoPollTask implements Runnable {private final WeakReference<AutoPollRecyclerView> mReference;//使用弱引用持有外部类引用->防止内存泄漏public AutoPollTask(AutoPollRecyclerView reference) {this.mReference = new WeakReference<AutoPollRecyclerView>(reference);}@Overridepublic void run() {AutoPollRecyclerView recyclerView = mReference.get();if (recyclerView != null && recyclerView.running && recyclerView.canRun) {recyclerView.scrollBy(2, 2);recyclerView.postDelayed(recyclerView.autoPollTask, recyclerView.TIME_AUTO_POLL);}}}public void setTimeAutoPoll(long time) {this.TIME_AUTO_POLL = time;}//开启:如果正在运行,先停止->再开启public void start() {if (running)stop();canRun = true;running = true;postDelayed(autoPollTask, TIME_AUTO_POLL);}public void stop() {running = false;removeCallbacks(autoPollTask);}@Overridepublic boolean onTouchEvent(MotionEvent e) {switch (e.getAction()) {case MotionEvent.ACTION_DOWN:if (running)stop();break;case MotionEvent.ACTION_UP:case MotionEvent.ACTION_CANCEL:case MotionEvent.ACTION_OUTSIDE:if (canRun)start();break;}//return  false,注释掉onTouchEvent()方法里面的stop和start方法,则列表自动滚动且不可触摸return super.onTouchEvent(e);}
}

还要结合AutoPollAdapter

public class AutoPollAdapter extends RecyclerView.Adapter<AutoPollAdapter.BaseViewHolder> {private final Context mContext;private final List<String> mData;public AutoPollAdapter(Context context, List<String> list) {this.mContext = context;this.mData = list;}@Overridepublic BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {View view = LayoutInflater.from(mContext).inflate(R.layout.item_auto_list, parent, false);BaseViewHolder holder = new BaseViewHolder(view);return holder;}@Overridepublic void onBindViewHolder(BaseViewHolder holder, int position) {String datasBean = mData.get(position % mData.size());holder.userName.setText(datasBean);}@Overridepublic int getItemCount() {return Integer.MAX_VALUE;}class BaseViewHolder extends RecyclerView.ViewHolder {TextView userName;public BaseViewHolder(View itemView) {super(itemView);userName = itemView.findViewById(R.id.user_name);}}
}

使用时结合接口返回的arrayList<String> 类型的数据:

            marqueeViewLack!!.setTimeAutoPoll(30)marqueeViewLack!!.setLayoutManager(LinearLayoutManager(getCurrentCon(),LinearLayoutManager.VERTICAL,false)) //LinearLayoutManager.HORIZONTALvar autoPollAdapter = AutoPollAdapter(getCurrentCon(), homBean.payment_list)marqueeViewLack!!.setAdapter(autoPollAdapter)marqueeViewLack!!.start()

在activity里使用时注意:

override fun onStart() {super.onStart()marqueeViewLack!!.start()
}override fun onStop() {super.onStop()marqueeViewLack!!.stop()
}

adapter里面的布局文件根据自己实际要展示的效果来写就好,我的item_auto_list:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:paddingLeft="14dp"android:paddingTop="11dp"android:paddingRight="14dp"android:paddingBottom="6dp"><TextViewandroid:id="@+id/user_name"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:textColor="@color/se_a8a1"android:textSize="10sp" /></LinearLayout><Viewandroid:layout_width="match_parent"android:layout_height="0.5dp"android:background="@color/se_deda" />
</LinearLayout>

大体就是这样~

Android 中奖滚动效果相关推荐

  1. Android 歌词滚动效果(歌词逐个与逐渐变色)可换行

    前言: 最近公司要求实现一个  讯飞语音阅读文字,文字根据阅读速度逐个变色的功能.先上个图看下效果. (由于工作非常紧张,所以就把测试的图贴过来了,兄弟们将就看) 直接上代码: ColorTrackV ...

  2. android 字体滚动效果,2018-02-05 android 左右字滚动效果(跑马灯效果),能直接拿来用的...

    MarqueeView 俗名:可垂直跑.可水平跑的跑马灯 学名:可垂直翻.可水平翻的翻页公告 com.sunfusheng marqueeview 1.3.3 pom compile 'com.sun ...

  3. android中奖名单轮播,iOS模拟中奖名单循环滚动效果

    本文实例为大家分享了iOS模拟中奖名单循环滚动效果的具体代码,供大家参考,具体内容如下 1.动态效果图: 2.思路: (1)控件:一个父View,依次添加两个tableVew,使其上下紧挨着,高度均等 ...

  4. Android 循环滚动控件ViewFlipper,可实现跑马灯或轮播图效果

    ViewFlipper--Android循环滚动控件 1.效果如下: 2.实现方法 (1)创建进出动画 上下滚动动画 y_in.xml <?xml version="1.0" ...

  5. android数字滚动动画,Android超简单实现金钱滚动效果

    目录 目录 效果展示 实现原理 利用ValueAnimator将数值从0一直增长到你所需要展示的数值,然后使用TextView将增长过程中的数值不断展示即可实现金钱的滚动效果. ValueAnimat ...

  6. android 开机动画 渐变,[Parallax Animation]实现知乎 Android 客户端启动页视差滚动效果...

    前言 Parallax Scrolling (视差滚动),是一种常见的动画效果.视差一词来源于天文学,但在日常生活中也有它的身影.在疾驰的动车上看风景时,会发现越是离得近的,相对运动速度越快,而远处的 ...

  7. android开发文字滚动代码,android实现滚动文本效果

    本文实例为大家分享了android实现滚动文本效果的具体代码,供大家参考,具体内容如下 效果图 实现方法 直接上代码 首先是一个自定义layout,继承自FrameLayout public clas ...

  8. 中奖人js滚动效果_jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可...

    在很多场景中,我们需要使用到中奖信息播报,或者一些文本信息循环滚动播报,在结合实际的开发中,然后也百度查询了相关的知识点,现在送上jQuery实现文本滚动. 1:html代码文件 相关使用说明也在页面 ...

  9. android数字滚动动画,数字滚动效果 RollingText

    RollingTextView 特性 使用简单,API与TextView类似,setText方法可带有上下滚动的动画 支持xml设置android:textSize/android:textColor ...

  10. android开发歌词滑动效果_android实现歌词自动滚动效果

    最近在做Android 的MP3播放的项目,要实现歌词的自动滚动,以及同步显示. lyric的歌词解析主要用yoyoplayer里面的,显示部分参考了这里 ,这里只是模拟MP3歌词的滚动. 先上一下效 ...

最新文章

  1. access、trunk、hybrid
  2. 物料变式的订货型生产(3.0C:可库存的类型)(26)
  3. 1-Qt6在线安装图文步骤
  4. 关于exchange2003使用owa修改用户口令
  5. 业余爱好者linux_如何从业余爱好者变成专业开发人员
  6. 自动化如何帮助全球共抗疫情?
  7. ngRoute (angular-route.js) 和 ui-router (angular-ui-router.js) 模块有什么不同呢?
  8. jquery中animate()函数不能调用元素的display属性
  9. 高一信息技术 计算机配件的真伪辨别,高一信息技术组PPT.ppt
  10. 【UKIEPC2017:F题】Flipping Coins(抛硬币求正面朝上个数的期望----概率dp)
  11. 给互联网人的反侦查手册
  12. 系统学习语义分割文章推荐以及顺序
  13. 1、操作系统的定义和作用?
  14. 重走长征路---OI每周刷题记录——hzwer
  15. php识别名片,名片识别接口
  16. excel表格添加文字太长了,需要换行?
  17. java_vinson_04:String类浅识
  18. 基于ChatGPT实现微信聊天机器人
  19. systeminfo命令
  20. 【记录十九】JCR2.0 节点类型

热门文章

  1. android 光标的绘制,Android EditText(TextView)如何绘制闪烁的光标?
  2. ACL 2022 | PLATO-LTM:具有长期记忆机制的对话生成框架
  3. RewriteBase: only valid in per-directory config files 解答:
  4. 整个网站网页变黑白的效果
  5. ipv4和ipv6地址长度
  6. 多视图信息瓶颈表征学习
  7. 如何观看网页flash视频以及下载视频
  8. Python自动化完成tb喵币任务
  9. 【Python计量】RESET模型设定偏误检验
  10. 已设定选项 ‘readonly‘ (请加 ! 强制执行)