开发者

Is it possible to change the RatingBar direction?

开发者 https://www.devze.com 2023-04-08 23:45 出处:网络
Does anyone knows if its possible to make the RatingBar go from right-to-Left instead of left to right, or have 开发者_JAVA技巧an idea how to do it?You can use android:rotation=\"180\" in your Ratingb

Does anyone knows if its possible to make the RatingBar go from right-to-Left instead of left to right, or have 开发者_JAVA技巧an idea how to do it?


You can use android:rotation="180" in your Ratingbar to rotate it i used this way on my read-only Ratingbars, i dont know if this will effect interacting with the Ratingbar.


Use 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);
    }
}


You have to customize the RatingBar..

However you just have to play tricks with displaying RatingBar Images & then some sort of reverse calculations.

Trick will be displaying reverse Images in RatingBar.. swap selected and unselected images in RatingBar.

Allow user to rate on RatingBar. You have to swap selected and unselected calculations. I mean you have to do reverse calculations.

Complete Working example of custom RatingBar on StackOverflow answered by me only.

Download RatingBar icons from here : http://developer.android.com/guide/practices/ui_guidelines/icon_design.html

0

精彩评论

暂无评论...
验证码 换一张
取 消