Android自定义View实现比赛时间闪动效果

作者:蒙奇_D-路飞 时间:2023-02-17 02:29:32 

本文实例为大家分享了Android实现比赛时间闪动效果的具体代码,供大家参考,具体内容如下

效果

Android自定义View实现比赛时间闪动效果

代码

上代码


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,时间闪动
0
投稿

猜你喜欢

  • android 通知Notification详解及实例代码

    2023-06-26 12:11:42
  • Java 实战练手项目之医院预约挂号系统的实现流程

    2023-11-24 00:42:36
  • Android Studio实现带边框的圆形头像

    2023-11-30 01:52:23
  • SpringBoot深入分析讲解监听器模式上

    2022-06-25 21:04:04
  • struts2实现多文件上传

    2023-11-23 02:27:53
  • 在C#中使用二叉树实时计算海量用户积分排名的实现详解

    2023-05-15 07:51:12
  • 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
  • 浅析Android 快速实现图片压缩与上传功能

    2022-10-15 23:58:01
  • Feign调用中的两种Header传参方式小结

    2022-10-25 02:47:17
  • springboot框架阿里开源低代码工具LowCodeEngine

    2022-09-01 09:40:41
  • Android中SurfaceView用法简单实例

    2022-01-05 20:10:11
  • 深入理解Java设计模式之简单工厂模式

    2023-12-06 07:16:36
  • Android开发者需要知道的8个项目管理技巧

    2022-04-11 19:51:02
  • gateway网关与前端请求跨域问题的解决方案

    2022-09-20 01:30:44
  • Android中TimePicker与DatePicker时间日期选择组件的使用实例

    2023-08-07 01:35:15
  • Android table布局开发实现简单计算器

    2021-07-15 13:05:28
  • java自定义封装StringUtils常用工具类

    2022-09-01 05:11:13
  • asp之家 软件编程 m.aspxhome.com