Use android:scaleX="-1" attribute android:scaleX="-1"
OR
package com.example.selection; import android.content.Context; import android.graphics.Canvas; import android.graphics.Matrix; import android.util.AttributeSet; import android.view.MotionEvent; import android.widget.RatingBar; public class InvertRatingBar extends RatingBar { public InvertRatingBar(Context context) { super(context); } public InvertRatingBar(Context context, AttributeSet attrs) { super(context, attrs); } public InvertRatingBar(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public boolean onTouchEvent(MotionEvent event) { int width = this.getMeasuredWidth(); event.setLocation(width - event.getX(), event.getY()); return super.onTouchEvent(event); } @Override protected synchronized void onDraw(Canvas canvas) { int width = this.getMeasuredWidth(); Matrix matrix = canvas.getMatrix(); matrix.preTranslate(width, 0); matrix.preScale(-1.f, 1); canvas.setMatrix(matrix); super.onDraw(canvas); } }
Mika
source share