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