我做的,我有顯示圖片的序列中的應用順序:順序爲後續:如何決定的可運行
- 紅色
X
必須顯示了400毫秒 - 稱爲「屏幕截圖」的圖像必須被顯示爲500毫秒中顯示爲50毫秒
- 「噪聲」圖像
- 稱爲「噪聲」的圖像具有消失,以騰出空間用於
EditText
但是結果顯示紅色X
顯示爲400毫秒,然後是空白屏幕。
這裏是我寫的代碼:
private void startThread(){
handler.postDelayed(new TaskScreenshot(), 400);
handler.postDelayed(new TaskNoise(), 500);
handler.postDelayed(new TaskEditText(), 100);
}
class TaskScreenshot implements Runnable{
@Override public void run() {
myImageView.setImageResource(R.drawable.googleplaybooks2);
myImageView.getLayoutParams().width = LayoutParams.MATCH_PARENT;
myImageView.getLayoutParams().height = LayoutParams.MATCH_PARENT;
}
}
class TaskNoise implements Runnable{
@Override public void run() {
myImageView.setImageResource(R.drawable.noise);
myImageView.getLayoutParams().width = LayoutParams.MATCH_PARENT;
myImageView.getLayoutParams().height = LayoutParams.MATCH_PARENT;
}
}
class TaskEditText implements Runnable{
@Override public void run() {
myInputFragment.getView().setVisibility(View.VISIBLE);
myImageFragment.getView().setVisibility(View.INVISIBLE);
}
}
紅色X
在ImageView
序列開始前已經設置。
有什麼我做錯了嗎? Runnable
是做這個序列的正確方法嗎?
可能要檢查執行人http://developer.android.com/reference/java/util/concurrent/Executor.html – Raghunandan
嘗試發佈上一個任務結束時的下一個延遲任務。 T1運行後延遲T2。 T2跑然後延遲T3等等...... – Aubin
奧賓你是什麼意思? – DamianFox