我需要一个进度条,根据变量显示从右到左或从左到右的进度。我也在酒吧中间发短信。尽管如此,我使用的是自定义类。为了旋转条形,我跟着this线程,但不知何故文本没有显示,或者它被旋转,或者一切都从视图中消失了......
无轮换的代码:
protected synchronized void onDraw(Canvas canvas) {
super.onDraw(canvas);
// draw text
}
我有一个属性positive
,告诉我是从左边还是右边开始。这很容易,如果我没有文本,我只需在代码中的某处调用setRotation()
,但现在我正在尝试旋转画布而我无法管理它一切都按正确的顺序排列。有人能帮助我吗?
答案 0 :(得分:0)
我刚刚发现了它。使用this线程,我最终得到以下代码:
protected synchronized void onDraw(Canvas canvas) {
canvas.save();
if(!positive) {
int cx = this.getMeasuredWidth() / 2;
int cy = this.getMeasuredHeight() / 2;
canvas.scale(-1f, 1f, cx, cy);
}
super.onDraw(canvas);
canvas.restore();
// draw text
}
我不知道为什么旋转对我不起作用,但scale
方法工作正常。