-2

Je veux créer une barre de progression avec plusieurs couleurs, elle peut être en 5 couleurs fixes (comme setProgress (ratio 100/20)).Créer une barre de progression de plusieurs couleurs

Comment nous pouvons diviser la barre de progression dans les parties fixes avec la couleur?

quelqu'un peut me suggérer s'il ya une bibliothèque ou un exemple pour cela?

également je veux afficher le texte au centre de la barre de progression.

Voici la vue barre de progression, grâce à l'avance pour toute aide et suggestions .. :)

Progress bar view

Répondre

0

classe Canvas a une fonction drawArc, qui fait ce que vous avez besoin.

Ce code vous donne une sorte d'indice.

private static final int ARCS_COUNT = 4; 
    private static final int SWEEP_ANGLE = 360/(ARCS_COUNT+1); // 72 
    private static final int[] colours = 
      new int[] {Color.RED, Color.YELLOW, Color.GREEN, Color.BLUE}; 


    ..... 

    Paint p = new Paint(); 
    p.SetStyle(PaintStyle.STROKE); 
    p.setStrokeWidth(4): 

    // Point (50,50) will be the centre of the bar. 
    RectF rectF = new RectF(0,0,100,100); 
    int startAngle = 180; 

    for (int i = 0; i<ARCS_COUNT; i++) { 
    p.setColor(colours[i]); 
    canvas.drawArc(rectF, startAngle, SWEEP_ANGLE, false, p); 
    startAngle += SWEEP_ANGLE;  
    }