一、效果图



 二、布局文件

activity_main.xml

    

 progressbar_pd.xml

<?xml version="1.0" encoding="utf-8"?>                                                                                                    

 MyProgress.java

package com.johnny.myprogress;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Rect;import android.util.AttributeSet;import android.widget.ProgressBar;public class MyProgress extends ProgressBar {String text;Paint mPaint;public MyProgress(Context context) {super(context);// TODO Auto-generated constructor stubSystem.out.println("1");initText();}public MyProgress(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);// TODO Auto-generated constructor stubSystem.out.println("2");initText();}public MyProgress(Context context, AttributeSet attrs) {super(context, attrs);// TODO Auto-generated constructor stubSystem.out.println("3");initText();}@Overridepublic synchronized void setProgress(int progress) {// TODO Auto-generated method stubsetText(progress);super.setProgress(progress);}@Overrideprotected synchronized void onDraw(Canvas canvas) {// TODO Auto-generated method stubsuper.onDraw(canvas);// this.setText();Rect rect = new Rect();this.mPaint.getTextBounds(this.text, 0, this.text.length(), rect);//int x = (getWidth() / 2) - rect.centerX();int x = (getWidth() / 2) - rect.centerX();int y = (getHeight()/2) - rect.centerY();canvas.drawText(this.text, x, y, this.mPaint);}// 初始化,画笔private void initText() {this.mPaint = new Paint();this.mPaint.setColor(Color.WHITE);this.mPaint.setTextSize(18);// 去掉锯齿this.mPaint.setFlags(Paint.ANTI_ALIAS_FLAG);}private void setText() {setText(this.getProgress());}// 设置文字内容private void setText(int progress) {int i = (progress * 100) / this.getMax();this.text = String.valueOf(i) + "%";}}

 MainActivity.java

package com.johnny.myprogress;import android.os.Bundle;import android.app.Activity;import android.view.Menu;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}}

 

更多相关文章

  1. android 状态栏字体颜色设置 黑色 anctivity+dialog
  2. andorid底部菜单导航
  3. imx515 开发板Android源代码编译过程
  4. 设置背景颜色
  5. GLSurfaceView使用之第二篇画三角形
  6. AChartEngine应用之PieChart(饼图)
  7. Android(安卓)屏蔽Home键
  8. Android设置手机音量
  9. android 之 3G/gprs

随机推荐

  1. 如何让Android屏幕只能上下翻转
  2. Android:控件GridView的使用实例
  3. android获取gps坐标
  4. android studio3.5.2打包,解决建议使用 "k
  5. [Android Pro] Android fastboot刷机和获
  6. android Theme使用四
  7. 仿照利用android系统源码资源文件,修改See
  8. Android 邮件发送(一键发送, 163邮箱)
  9. Android 文件读写 + sdcard + 文件的属性
  10. Android 静默安装