0
我有我的自定义小部件,当悬停时改变背景。它工作的很好,但我希望在没有背景和悬停背景之间平滑过渡。它将与GC.setAlpha()
工作,但:display.async和平滑过渡
Display.getDefault().asyncExec(new Runnable() {
public void run() {
for (int i=0;i<255;i++) {
setBG(BGHelper(imgHover,i)); //i - alpha
try {
Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
此代码等到i == 255
,但它并没有显示的平滑过渡。为什么?
您能否更详细地描述“_it不显示平滑过渡_”的含义? – Baz
我希望看到从alpha 0到255(从不可见到可见)的平滑过渡,但是当我悬停我的小部件时,需要1 * 255毫秒,并且可以看到完全可见的图像(无步骤)。 – Andy
“Runnable”(最终)由UI线程执行,您正在使用Thread.sleep()暂停该线程。用一个'Timer'来定期更新alpha。 – Torious