2 votes

Rotation de la barre de progression circulaire en sens inverse

Je veux faire tourner la barre de progression circulaire dans le sens inverse des aiguilles d'une montre.

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="270"
android:toDegrees="270">
    <shape
    android:innerRadiusRatio="2.5"
    android:shape="ring"
    android:thickness="3dp"
    android:useLevel="true">

    <gradient
        android:angle="0"
        android:endColor="@color/rotateBar"
        android:startColor="@color/rotateBar"
        android:type="sweep"
        android:useLevel="false" />
</shape>
</rotate>

De cette façon, je peux me déplacer dans le sens des aiguilles d'une montre, mais je veux faire tourner ma barre de progression dans la direction opposée.

Comme ceci

0voto

Pooja Rajendran C Points 192

Créez une classe personnalisée qui étend ProgressBar et créez votre barre de progression dans le fichier xml en utilisant cette classe.

public class CustomCircularProgress extends ProgressBar {

public CustomCircularProgress(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    // TODO Auto-generated constructor stub
}

public CustomCircularProgress(Context context, AttributeSet attrs) {
    super(context, attrs);
    // TODO Auto-generated constructor stub
}

public CustomCircularProgress(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
}

@Override
protected synchronized void onDraw(Canvas canvas) {
    // TODO Auto-generated method stub

    canvas.scale(-0.5f, 0.5f, super.getWidth() * 0.5f, super.getHeight() * 0.5f);
    super.onDraw(canvas);
}}

Il suffit de vérifier scale (float sx, float sy, float px, float py) dans https://developer.Android.com/reference/Android/graphics/Canvas.html#scale(float,float,float,float)

Je l'ai trouvé sur stackoverflow même. Mais je n'ai pas obtenu ce lien pour la référence.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X