Android中如何使用progressbar实现带底部指示器和文字进度条
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,本篇内容主要讲解"Android中如何使用progressbar实现带底部指示器和文字进度条",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Android中
千家信息网最后更新 2025年11月08日Android中如何使用progressbar实现带底部指示器和文字进度条
本篇内容主要讲解"Android中如何使用progressbar实现带底部指示器和文字进度条",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Android中如何使用progressbar实现带底部指示器和文字进度条"吧!
列出源码:
public class TextProgressBar extends LinearLayout { String text; Paint mPaint; private Rect textRect; private Bitmap bitmap; private ProgressBar progressBar; int progress; int proWidth, proHeight; public TextProgressBar(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initText(context); } public TextProgressBar(Context context) { super(context); initText(context); } public TextProgressBar(Context context, AttributeSet attrs) { super(context, attrs); initText(context); } @Override protected synchronized void onDraw(Canvas canvas) { super.onDraw(canvas); progress = progressBar.getProgress(); if (progress == 0 || progress == progressBar.getMax()) return; this.mPaint.getTextBounds(this.text, 0, this.text.length(), textRect); proWidth = progressBar.getWidth(); proHeight = progressBar.getHeight(); //画指示器 int bitmapx = (int) (progressBar.getLeft() + proWidth * ((progress * 1f) / progressBar.getMax())) - bitmap.getWidth() / 2; int bitmapy = proHeight + bitmap.getHeight() / 2; if (bitmapx < 0) bitmapx = progressBar.getLeft(); if(bitmapx > progressBar.getRight()-bitmap.getWidth()) bitmapx = progressBar.getRight()-bitmap.getWidth(); canvas.drawBitmap(bitmap, bitmapx, bitmapy, mPaint); //写字 int tvx = (int) (progressBar.getLeft() + proWidth * ((progress * 1f) / progressBar.getMax())) - textRect.centerX(); int tvy = proHeight + bitmap.getHeight() * 2 + 4; if (tvx < 0) tvx = progressBar.getLeft(); if(tvx >= progressBar.getRight()-textRect.width()) tvx = progressBar.getRight()-textRect.width(); canvas.drawText(this.text, tvx, tvy + bitmap.getHeight(), this.mPaint); } //初始化,画笔 private void initText(Context context) { View inflate = View.inflate(context, R.layout.textprogressbar, this); progressBar = (ProgressBar) inflate.findViewById(R.id.progressbar1); progressBar.setProgress(50); setWillNotDraw(false); this.mPaint = new Paint(); this.mPaint.setColor(getResources().getColor(R.color.red)); this.mPaint.setTextSize(20); textRect = new Rect(); text = "0"; bitmap = BitmapFactory.decodeResource(context.getResources(), R.mipmap.progress_top); } public void setProgress(int progress) { progressBar.setProgress(progress); } public void setText(String str) { text = str; }}到此,相信大家对"Android中如何使用progressbar实现带底部指示器和文字进度条"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
指示
指示器
底部
文字
进度
内容
学习
实用
更深
兴趣
实用性
实际
操作简单
方法
更多
朋友
源码
画笔
网站
频道
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
注册表数据库是以什么进行存储的
游侠的mc服务器
京东购物服务器需要什么配置
某高新技术企业 以软件开发
山东桑海网络技术有限公司
手抄报共建网络安全共享
局关于云服务器租赁采购讨论事宜
区块链技术数据库记录
各类服务器配置参数
乐享网络技术
天津互联网软件开发中心
脏小豆骗赞服务器视频
北京软件开发有名汇维创科技
软件开发使用哪些工具
廊坊网络安全公益广告
服务器怎么确定做了磁盘阵列
药品广告数据库湿毒清桂视
华为网络安全机考题库
数据库管理系统方法
linux 启动服务器
服务器中的文件夹
桥梁数据库数据表
服务器多域名
在网上怎么看网络安全法
梦幻手游梦回唐朝在哪个服务器
北京朝阳网络安全
网络技术答卷高三
浅析计算机网络安全的防御技术
二维码获取数据库原理
共享服务器安全