我制作了一些带有一些视图的布局,我需要强制重绘它,因为我发现如果我使用libgconf-2-4
,则invalidate不会立即重绘。
所以,我也发现我可以使用SurfaceHolder来实现这一点,但我不知道如何使用它。
如果有人可以解释我如何使用带有布局的表面支架,或者只是另一种方法来强制从布局中重绘特定视图。
所以,我有一些按钮,我以编程方式更改颜色,但不显示新颜色。 以下是颜色的变化方式:
Thread.sleep()
我在这些之间进行了控制台记录并且它执行得非常好,除了不显示新颜色(名为“移动”)。
ResetMatrix()函数重置颜色,但不应影响这一点。
我也试过了 while(array[k] < 4) {
while(!running) {
Thread.sleep(100);
}
array[k] ++;
Position(k);
if(Validation(k)) {
buttons[solution[k].y][solution[k].x].setBackgroundColor(getResources().getColor(R.color.moving));
buttons[solution[k].y][solution[k].x].forceLayout();
if(solution[k].x == 0 || solution[k].x == width - 1 || solution[k].y == 0 || solution[k].y == height - 1) {
DisplaySolution(k);
Thread.sleep(300);
ResetMatrix();
} else {
Bkt(k + 1);
}
} else {
buttons[solution[k].y][solution[k].x].setBackgroundColor(getResources().getColor(R.color.unpressedEmpty));
}
}
,但没有用。