zoukankan      html  css  js  c++  java
  • 安卓带百分比的进度条显示

    继承进度条代码:
    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 PecentProgress extends ProgressBar {

    String text;
    Paint Paint;


    public PecentProgress(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
    System.out.println("1");
    initText();
    }

    public PecentProgress(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    // TODO Auto-generated constructor stub
    System.out.println("2");
    initText();
    }


    public PecentProgress(Context context, AttributeSet attrs) {
    super(context, attrs);
    // TODO Auto-generated constructor stub
    System.out.println("3");
    initText();
    }

    @Override
    public synchronized void setProgress(int progress) {
    // TODO Auto-generated method stub
    setText(progress);
    super.setProgress(progress);

    }

    @Override
    protected synchronized void onDraw(Canvas canvas) {
    // TODO Auto-generated method stub
    super.onDraw(canvas);
    //this.setText();
    Rect rect = new Rect();
    this.Paint.getTextBounds(this.text, 0, this.text.length(), rect);
    int x = (getWidth() / 2) - rect.centerX();
    int y = (getHeight() / 2) - rect.centerY();
    canvas.drawText(this.text, x, y, this.Paint);
    }

    //初始化
    private void initText(){
    this.Paint = new Paint();
    this.Paint.setColor(Color.BLUE);

    }

    private void setText(){
    setText(this.getProgress());
    }

    //设置文字内容
    private void setText(int progress){
    int i = (progress * 100)/this.getMax();
    this.text = String.valueOf(i) + "%";
    }



    }

    页面代码
    <com.example.utils.PecentProgress 上面精度条继承类所在的包
    android:id="@+id/load_proj_bar"
    android:max="100"
    android:layout_gravity="center"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_heightPercent="80%" //安卓百分比
    app:layout_widthPercent="90%"
    style="@android:style/Widget.ProgressBar.Horizontal"
    android:visibility="visible"
    />

    //初始化

    private PecentProgress progress = null;
    pros = (PecentProgress ) findViewById(R.id.load_proj_bar);

    //开启子线程,设置进度条
    pros .setMax(100);
    pros .setProgress(0);




  • 相关阅读:
    [Flex] Flex 控件&类 的自定义事件添加
    [java]原始类型和其包装类
    [java]解析网络上的xml文件
    [android]用adb操作android模拟器
    [java]优先队列
    [Q&A]为什么在ospf邻居之间确定主从关系?
    [js]jQuery插件开发总结
    [Q&A] 为什么把js脚本放到html页面的底部?
    理解一个简单的网页请求过程
    [js]如何更快的得到图片的高度和宽度
  • 原文地址:https://www.cnblogs.com/dosoftwarey/p/11573792.html
Copyright © 2011-2022 走看看