Android 是否可以更改比率杆的方向?
是否有人知道是否可以使分级栏从右向左而不是从左向右移动,或者知道如何操作?您必须自定义分级栏 不过,您只需在显示Android 是否可以更改比率杆的方向?,android,android-layout,Android,Android Layout,是否有人知道是否可以使分级栏从右向左而不是从左向右移动,或者知道如何操作?您必须自定义分级栏 不过,您只需在显示分级栏图像时玩一些小把戏&然后进行某种反向计算 技巧是在分级栏中显示反向图像。。在分级栏中交换选定和未选定的图像 允许用户在评级栏上评级。必须交换选定和未选定的计算。我的意思是你必须做反向计算 仅由我回答的自定义分级栏的完整工作示例 从此处下载分级栏图标:您可以在分级栏中使用android:rotation=“180” 我在只读分级栏上使用了这种方式,我不知道这是否会影响与分级栏的交互
分级栏
图像时玩一些小把戏&然后进行某种反向计算
技巧是在分级栏中显示反向图像。。在分级栏中交换选定和未选定的图像
允许用户在评级栏上评级
。必须交换选定和未选定的计算。我的意思是你必须做反向计算
仅由我回答的自定义分级栏
的完整工作示例
从此处下载分级栏图标:您可以在分级栏中使用
android:rotation=“180”
我在只读分级栏上使用了这种方式,我不知道这是否会影响与分级栏的交互。使用属性
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);
}
}