当前位置: 首页 > news >正文

Android studio实现圆形进度条

参考博客
效果图
在这里插入图片描述
MainActivity

import androidx.appcompat.app.AppCompatActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.TextView;import java.util.Timer;
import java.util.TimerTask;public class MainActivity extends AppCompatActivity {private CircleProgressBar progressBar;private TextView percentageTextView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);progressBar = findViewById(R.id.progressBar);percentageTextView = findViewById(R.id.percentageTextView);// 设置最大进度值为100progressBar.setProgress(100);Timer timer = new Timer();timer.scheduleAtFixedRate(new TimerTask() {int i = 0;@Overridepublic void run() {if (i <= 100) {final int progress = i;runOnUiThread(new Runnable() {@Overridepublic void run() {progressBar.setProgress(progress);percentageTextView.setText("SDC" + "\n" + progress + "%" + "\n" + "充电中");}});i++;} else {timer.cancel();}}}, 0, 50);}
}

CircleProgressBar

import android.animation.ObjectAnimator;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.LinearGradient;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.PathMeasure;
http://www.lryc.cn/news/153690.html

相关文章:

  • 基于Halcon的喷码识别方法
  • 【Sword系列】Vulnhub靶机HACKADEMIC: RTB1 writeup
  • idea使用maven时的java.lang.IllegalArgumentException: Malformed \uxxxx encoding问题解决
  • linux深入理解多进程间通信
  • 使用自定义注解+aop实现公共字段的填充
  • Unity 安卓(Android)端AVProVideo插件播放不了视频,屏幕一闪一闪的
  • 无涯教程-JavaScript - DMIN函数
  • GaussDB数据库SQL系列-层次递归查询
  • pycharm 下jupyter noteobook显示黑白图片不正常
  • Java异常(Error与Exception)与常见异常处理——第八讲
  • 【JAVA】多态
  • android 12 第三方apk系统签名
  • 【论文阅读】自动驾驶中车道检测系统的物理后门攻击
  • ArrayList、LinkedList、Collections.singletonList、Arrays.asList与ImmutableList.of
  • 恒运资本:沪指涨逾1%,金融、地产等板块走强,北向资金净买入超60亿元
  • 解决WebSocket通信:前端拿不到最后一条数据的问题
  • 【java】[maven]每次创建一个maven模块时java compiler版本就是1.6与实际版本不一致(解决本质问题)
  • GPT-5继续秘密训练中!ChatGPT开学大礼包
  • 3.2.0 终极预告!云原生支持新增 Spark on k8S 支持
  • Flutter状态管理 — 探索Flutter中的状态
  • Python中重要的条件语句教程
  • 记录一下自己对linux分区挂载的理解
  • 【机器学习】人工智能概述(文末送书)
  • 电子学会 2023年3月 青少年软件编程Python编程等级考试三级真题解析(选择题+判断题+编程题)
  • C++算法 —— 动态规划(1)斐波那契数列模型
  • Elasticsearch 对比传统数据库:深入挖掘 Elasticsearch 的优势
  • ICG-Tetrazine的合成方法和步骤-星戈瑞
  • C ++ 学习之分文件 实现类
  • vue+elementui前端rules校验缓存问题
  • 使用Vue3和Vite升级你的Vue2+Webpack项目