安卓带百分比的进度条显示

Posted dosoftwarey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓带百分比的进度条显示相关的知识,希望对你有一定的参考价值。

继承进度条代码:
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);




以上是关于安卓带百分比的进度条显示的主要内容,如果未能解决你的问题,请参考以下文章

带百分比标签的进度条?

一个简短小巧的带百分比的进度条

使用ajax实现简单的带百分比进度条

安卓高级组件-----进度条

这是一个进度条的效果,但是代码中的百分比显示不是我想要的,我想要的是数字自动计算百分比。

Asp.Net上传大文件带进度条swfupload