2016-04-15 10 views
0

を描く私が寝た後、onDrawで描きたい:アンドロイド - その後、スリープ()と

protected void onDraw(Canvas canvas) { 
    if (_rectPath) { 
     canvas.drawPath(mRectPath, mFillPaint); 
     // SLEEP HERE for 5 seconds 
     canvas.drawPath(mRectPath, mNPaint); 
    } 
    canvas.drawPath(mPath, mPaint); 
} 

どのように私は5秒間眠って実装するのでしょうか? 基本的には5秒待ってから次のパス、mNPaintを描画します。

ありがとうございます!

+0

何を描画していますか?それは眺めか描きですか? – Mahfa

+0

ビュー内のonDrawです。 – Eddev

+0

onDraw voidの外にハンドラとRunnableを作成し、次にそれをonDraw voidの内側で起動します。 Runnableの内部ではinvalidate()を呼び出します。魔女がonDrawを再び呼び出す – Mahfa

答えて

2

この方法を使用できます。 ondrawメソッドの外側にハンドラを初期化する

Handler handler = new Handler(); 
And inside onDraw method 


    handler.postDelayed(new Runnable() { 
       @Override 
       public void run() { 
        //Draw the previous paths. 
        // Adjust the paths here and draw it 
        invalidate(); 
       } 
      }, 5 * 1000); 
+0

ただ言っています:)しかし、あなたはonDrawメソッドの外でそのRunnableを初期化する必要があります。 – Mahfa

+0

ああそうです。ありがとうございます – Krish

+0

あなたは大歓迎です:) – Mahfa

関連する問題