android数字滚动控件,Ticker 滚动数字控件
Ticker是一款非常强大的,可扩展的一个自定义的显示滚动文字的控件,他由Robinhood(罗宾侠)工程师团队创建的UI控件.
Ticker处理了字符切换与数字增长的动画。他具有以下优点:
高性能:动画不会导致任何卡顿,尤其是在滚动和滑动的时候。
低内存消耗:比如:不能使用多个View。
可插入:核心逻辑应该被合理的封装,这样UI模块可以在不同的地方重用。
简单,可扩展的API:只需定义文字的渲染和动画方式。
尽可能低的Android SDK version需求。
现在来看一个展示价格的小例子:(效果图)
效果图
怎么样是不是很炫很酷很想试一试:
那么接下来,我们就来一起做个Demo吧!!
1.建一个AndroidStudio项目
2.将Ticker第三方jar包在app的build.gradle中依赖如下图
3.将Ticker加入到MainActivity的布局文件中如下图:
4.在Activity中引入控件并实现控制显示逻辑:代码如下(已经精心排序,爱心注释,不啰嗦了)
1.建一个AndroidStudio项目
用AS建一个项目
2.将Ticker第三方jar包在app的build.gradle中依赖如下图
引入依赖
3.将Ticker加入到MainActivity的布局文件中如下图:
这里写图片描述
4.在Activity中引入控件并实现控制显示逻辑:代码如下(已经精心排序,爱心注释,不啰嗦了)
public class MainActivity extends AppCompatActivity {
private static final char[] CURRENCY_LIST = TickerUtils.getDefaultListForUSCurrency();//文本类型为:通用类型
protected static final Random RANDOM = new Random(System.currentTimeMillis());//当前毫秒数范围类的随机数
private TickerView tickerView;
private Handler handler = new Handler();//定义一个handle用来启动线程来动态更新UI
private boolean resumed;//定义一个开关:是否可以开始动态改变Ticker上的text
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tickerView= (TickerView) findViewById(R.id.tickerView);
tickerView.setCharacterList(CURRENCY_LIST);//设置显示文字类型:通用
tickerView.setTextSize(56);//设置文字大小,自己经验:jar包导入推荐使用代码设置文字大小
tickerView.setAnimationDuration(500);//设置动画持续时间
tickerView.setAnimationInterpolator(new OvershootInterpolator());//设置动画插值器
tickerView.setGravity(Gravity.CENTER);//设置对齐方式
}
@Override
protected void onResume() {
super.onResume();
resumed = true;//打开开关
handler.post(createRunnable());//启动更新UI的线程
}
/**
* 递归
* 创建Runnable对象(动态延迟)
* @return
*/
private Runnable createRunnable() {
return new Runnable() {
@Override
public void run() {
onUpdate();//更新UI
if (resumed) {
handler.postDelayed(createRunnable(), RANDOM.nextInt(1750) + 250);
}
}
};
}
/**
* 更新界面显示
*
*/
protected void onUpdate() {
final int digits = RANDOM.nextInt(2) + 6;//将digits(字符长度)限定在[6,8]内
tickerView.setText("$"+getRandomNumber(digits));
}
/**
* 将数值通过固定算法并转化成字符串
* @param digits
* @return
*/
protected String getRandomNumber(int digits) {
final String currencyFloat = Float.toString(RANDOM.nextFloat() * 1000);//价格显示范围在1000$内
final String showText = currencyFloat.substring(0, digits-1);//在[0,digits)之间取一个子字符串
return showText;
}
@Override
protected void onPause() {
resumed = false;//关闭开关
super.onPause();
}
}
android数字滚动控件,Ticker 滚动数字控件相关推荐
- [Android]自定义View带效果的滚动数字
[Android]自定义View带效果的滚动数字 @Author GQ 2016年07月29日 一个可以让数字滚动的View,可以自定义参数,是想要的那种效果! 原文github地址 效果图 Andr ...
- Android RecyclerView实现类似于老虎机抽奖,数字滚动等动画效果
1.RecyclerViewLoopScrollAnimation项目介绍 RecyclerViewLoopScrollAnimation 适用于Android RecyclerView的循环滚动动画 ...
- 【Android】App首页上下滚动快报控件 通知控件 类似京东快报控件(一)
前言 快过年了,对于大伙来说手头上的事情做完没有呢,马上也该让自己轻松一阵子了,哈哈哈.好,说正事,由于公司App这个版本首页的改版,新增了很多新的控件,类似于京东快报这种控件的话我在写之前也去找了一 ...
- android 数字滚动抽奖_Android TextView自定义数字滚动动画
背景 在开发需求当中,当有总收益.总用户数等数字要显示时,为了更好的给用户提供展示效果,往往会想加入炫酷的数字滚动动画,使呆板平静的数字变得灵活起来,给人一种增值的直观感受. 简介 NumberRol ...
- iOS 9应用开发教程之使用开关滑块控件以及滚动部署视图
iOS 9应用开发教程之使用开关滑块控件以及滚动部署视图 使用ios9中的开关.滑块控件 开关和滑块也是用于和用户进行交互的控件.本节将主要讲解这两种控件. ios9开关 开关控件常用来控制某个功能的 ...
- vue利用 vue-animate-number插件动态展示数字(从0动态滚动到指定数字)
vue利用 vue-animate-number插件动态展示数字(从0动态滚动到指定数字) 第一步:安装vue-animate-number插件 $ npm install vue-animate-n ...
- 自定义控件——改造已有的控件——不滚动的列表视图
不滚动的列表视图 把ListView放入ScrollView会产生问题,因为ScrollView和ListView都允许滚动,那么在双方的重叠区域,上下滑动的手势究竟表示要滚动哪个视图? Androi ...
- android 父控件的背景_android控件的属性
android控件的属性 本节描述android空间的位置,内容等相关属性及属性的含义 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 ( ...
- Android限定EditText的输入类型为数字或者英文(包括大小写)
http://hi.baidu.com/tozhang/item/4dfeaafb9aec2813d7ff8c99 Android限定EditText的输入类型为数字或者英文(包括大小写) // 监听 ...
最新文章
- 打开chm文件不能显示内容的解决办法
- 将tif文件转化为png文件 Python3
- 一次打包,无限复用!教你用 PyCharm 搭建一劳永逸的开发环境
- OGNL使用方法总结
- 用camelot读取表格_如何使用Camelot从PDF提取表格
- 网络知识:宽带下载网速是30MB/s,经过路由器后仅10MB/s,看完你就懂了!
- 查询hive表_大数据中Hive与HBase的区别与联系
- 【HDU1277】全文检索(ac自动机/字典树)
- vcenter客户端控制虚拟服务器报错:“VMRC 控制台的连接已断开”
- intersystem-M语言基础语法
- PIE-Engine教程—中国降水分布可视化加载以2018年为例(含图例添加)
- 使用matlab在图片上画框,并保存
- 浅学C#(3)——C#的优点和缺点
- amd cpu 型号大全
- 细看10个不同类型的社交平台
- 计算机系统管理规程考试题,计算机基础考试卷试题及标准答案.docx
- 2022.1.12C语言小练
- 基于莱维飞行改进的粒子群算法输电线桩路径优化,粒子群算法通过shubert函数测试效果,混沌粒子群
- 逻辑分析仪的使用--LA1010
- CAD格式转换大全你想要的转换格式这里都有