Android自定义View实现比赛时间闪动效果
作者:蒙奇_D-路飞 时间:2023-02-17 02:29:32
本文实例为大家分享了Android实现比赛时间闪动效果的具体代码,供大家参考,具体内容如下
效果
代码
上代码
public class TwinkleTextView extends TextView implements Runnable {
/**
* 是否显示
*/
private boolean flag = true;
/**
* 闪动内容
*/
private String twinkleText = "'";
/**
* 闪动时间
*/
private int delayMillis = 500;
private boolean run = false;
public TwinkleTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public TwinkleTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public TwinkleTextView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
public void beginRun(){
run = true;
run();
}
@Override
public void run() {
if (flag){
setVisibility(VISIBLE);
flag = false;
}else{
setVisibility(INVISIBLE);
flag = true;
}
postDelayed(this, delayMillis);
}
public String getTwinkleText() {
return twinkleText;
}
public void setTwinkleText(String twinkleText) {
this.twinkleText = twinkleText;
setText(twinkleText);
}
public int getDelayMillis() {
return delayMillis;
}
public void setDelayMillis(int delayMillis) {
this.delayMillis = delayMillis;
}
public boolean isRun() {
return run;
}
public void setRun(boolean run) {
this.run = run;
}
}
使用注意事项
我的RecyclerView框架是BRVAH
public class MyAdapter extends BaseQuickAdapter<User, BaseViewHolder> {
public MyAdapter(int layoutResId, @Nullable List<User> data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, User item) {
TextView textView = helper.getView(R.id.text);
textView.setText(helper.getAdapterPosition() + "");
TwinkleTextView twinkleTextView = helper.getView(R.id.twinkle);
twinkleTextView.setDelayMillis(500);
if (!twinkleTextView.isRun()) {
twinkleTextView.beginRun();
}
}
}
使用的时候一定要判断是否正在运行
if (!twinkleTextView.isRun()) {
twinkleTextView.beginRun();
}
谢谢。
来源:https://blog.csdn.net/ainiyiwan123/article/details/79739028
标签:Android,时间闪动
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
android 通知Notification详解及实例代码
2023-06-26 12:11:42
![](https://img.aspxhome.com/file/2023/6/138756_0s.png)
Java 实战练手项目之医院预约挂号系统的实现流程
2023-11-24 00:42:36
![](https://img.aspxhome.com/file/2023/8/62528_0s.jpg)
Android Studio实现带边框的圆形头像
2023-11-30 01:52:23
![](https://img.aspxhome.com/file/2023/6/92576_0s.png)
SpringBoot深入分析讲解监听器模式上
2022-06-25 21:04:04
![](https://img.aspxhome.com/file/2023/3/62363_0s.png)
struts2实现多文件上传
2023-11-23 02:27:53
![](https://img.aspxhome.com/file/2023/3/88733_0s.jpg)
在C#中使用二叉树实时计算海量用户积分排名的实现详解
2023-05-15 07:51:12
![](https://img.aspxhome.com/file/2023/1/79101_0s.png)
java实现文件夹解压和压缩
2022-06-07 03:00:39
java数据结构与算法之noDups去除重复项算法示例
2023-06-19 08:50:34
Android中SeekBar和RatingBar用法实例分析
2023-07-28 00:13:59
Studio 编译报错:compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.的解决办法
2023-06-19 17:19:41
![](https://img.aspxhome.com/file/2023/0/81320_0s.png)
浅析Android 快速实现图片压缩与上传功能
2022-10-15 23:58:01
Feign调用中的两种Header传参方式小结
2022-10-25 02:47:17
springboot框架阿里开源低代码工具LowCodeEngine
2022-09-01 09:40:41
![](https://img.aspxhome.com/file/2023/7/131887_0s.png)
Android中SurfaceView用法简单实例
2022-01-05 20:10:11
深入理解Java设计模式之简单工厂模式
2023-12-06 07:16:36
Android开发者需要知道的8个项目管理技巧
2022-04-11 19:51:02
![](https://img.aspxhome.com/file/2023/1/139661_0s.jpg)
gateway网关与前端请求跨域问题的解决方案
2022-09-20 01:30:44
![](https://img.aspxhome.com/file/2023/1/69741_0s.png)
Android中TimePicker与DatePicker时间日期选择组件的使用实例
2023-08-07 01:35:15
![](https://img.aspxhome.com/file/2023/0/84740_0s.jpg)
Android table布局开发实现简单计算器
2021-07-15 13:05:28
![](https://img.aspxhome.com/file/2023/6/137476_0s.jpg)
java自定义封装StringUtils常用工具类
2022-09-01 05:11:13