Android中如何使用progressbar实现带底部指示器和文字进度条
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"Android中如何使用progressbar实现带底部指示器和文字进度条",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Android中
千家信息网最后更新 2026年11月01日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安全错误
数据库的锁怎样保障安全
瑰夏咖啡
互联网黑科技
广州大一互联网络科技有限公司
科技平台互联网
互联网品科技
互联网公司 科技公司
狮子座互联网科技
易通互联网络科技有限公司
互联网女皇 腾讯科技
上游互联网科技
苏州大垚互联网科技
团飞科技与伯堂互联网服务平台
互联网金融中的现代科技
天津腾达互联网科技有限公司
迪庆互联网科技招生
伍佰万互联网科技怎么赚钱
江苏互联网智能科技软件
互联网科技年终奖
互联网界的黑科技
云南互联网科技学费
互联网科技海报
科技互联网公司装修
合肥互联网科技公司
有马互联网科技
互联网养老 桔豆科技
现代互联网科技股
未来五年的互联网科技
伍佰万互联网科技怎么赚钱
互联网科技手抄报图片
互联网企业和网络科技有限公司