是否可以改变RatingBar方向?

有谁知道是否有可能使RatingBar从右到左而不是从左到右,或有一个想法如何做到这一点?

  • 谷歌Chrome安卓应用的源代码?
  • MultiSelect手势,如Google相册应用
  • Androiddevise支持库TabLayout使用自定义选项卡布局,但布局包装选项卡
  • 设备API级别<11的DialogFragments
  • 如何在我的滚动视图中调整我的imageview的大小,因为它在这个图像中完成?
  • 如何增加android中的linearlayout中的元素之间的空间?
  • 当View以编程方式添加时,TextInputLayout不显示
  • 一次关闭所有最近打开/运行的应用程序按钮 - android
  • 你必须定制RatingBar ..

    然而,你只需要玩显示RatingBar图像的技巧,然后进行一些逆向计算。

    招数将在RatingBar中显示反向图像..在RatingBar中交换未select的图像。

    允许用户对RatingBar进行评分。 你必须交换select和未select的计算。 我的意思是你必须做反向计算。

    完整的StackOverflow自定义RatingBar工作示例只能由我回答。

    从这里下载RatingBar图标: http : //developer.android.com/guide/practices/ui_guidelines/icon_design.html

    您可以在您的评分栏中使用android:rotation="180"来旋转它,我在我的只读RatingBars上使用这种方式,我不知道这是否会影响与Ratingbar的交互。

    使用属性android:scaleX="-1"

    要么

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