2012-08-15 24 views
5

Estoy trabajando en una aplicación que necesita una "barra de progreso circular" algo como esto (no necesita cambios de color o estar vacío en el medio, una cosa simple sería suficiente para mí, pero Si desea dime cómo hacer cambios de color aswell voy a estar feliz de saber :))barra de progreso circular

enter image description here

quiero utilizarlo para mostrar el porcentaje de batería en mi aplicación

+0

¿Ha intentado buscar una cosa así? Si es así, ¿qué has encontrado? – TheZ

+0

No lo he intentado porque no sé por dónde empezar, busqué en stackoverflow pero solo encontré resultados de Javascript, ni siquiera sé qué buscar exactamente – DoubleP90

+0

¿Hmmm, tal vez? http://stackoverflow.com/questions/3874424/android-looking-for-a-drawarc-method-with-inner-outer-radius – TheZ

Respuesta

1

No sé si te entendí bien, pero creo que puede ayudarte: How to change color in circular progress bar?

+0

No creo que sea lo que estoy buscando, por lo que entiendo, esta es una animación de una barra de progreso sin valor, necesito darle un valor (porcentaje de batería) y en función del valor que tiene que cambiar – DoubleP90

2

espero algo así como this lib ayudaría

definicion en el diseño es simple:

<com.lylc.widget.circularprogressbar.example.CircularProgressBar 
    android:id="@+id/circularprogressbar1" 
    style="@style/Widget.ProgressBar.Holo.CircularProgressBar" 
    android:layout_width="120dip" 
    android:layout_height="120dip" 
    android:layout_marginTop="10dip" 
    circular:subtitle="subtitle" 
    circular:title="Title" /> 

y su uso no es complicado, así:

CircularProgressBar c3 = (CircularProgressBar) findViewById(R.id.circularprogressbar3); 
c3.setTitle("June"); 
c3.setSubTitle("2013"); 
c3.setProgress(42); 

Es compatible con el progreso de animación, así como en caso lo necesites Todos los créditos para el autor original. Lo acabo de encontrar. Espero que haya ayudado

0

use este método y configúrelo en la vista de imagen para dibujar un mapa de bits en la vista de imagen. Puedes usar este fragmento de código para mostrar un diálogo de progreso.

private void circularImageBar(ImageView iv2, int i) { 


    Bitmap b = Bitmap.createBitmap(300, 300,Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(b); 
    Paint paint = new Paint(); 

     paint.setColor(Color.parseColor("#c4c4c4")); 
     paint.setStrokeWidth(10); 
     paint.setStyle(Paint.Style.STROKE); 
     canvas.drawCircle(150, 150, 140, paint); 

     paint.setColor(Color.parseColor("#FFDB4C")); 
     paint.setStrokeWidth(10); 
     paint.setStyle(Paint.Style.FILL); 
     final RectF oval = new RectF(); 
     paint.setStyle(Paint.Style.STROKE); 
     oval.set(10,10,290,290); 

     canvas.drawArc(oval, 270, ((i*360)/100), false, paint); 
     paint.setStrokeWidth(0);  
     paint.setTextAlign(Align.CENTER); 
     paint.setColor(Color.parseColor("#8E8E93")); 
     paint.setTextSize(140); 

     canvas.drawText(""+i, 150, 150+(paint.getTextSize()/3), paint); 

     iv2.setImageBitmap(b); 
}