私はPaint
とCanvas
を使いたいと思っています。publishProgress
を使用すると、基本的に何かをペイントします。Androidスタンドの背景にペイント
あなたの誰かが私のコードに何が間違っているのか、なぜこれが何かをペイントしていないのかどうかを教えてくれれば幸いです。
注。このすべては、あなたが新しいキャンバスインスタンス上に描画するのであなたのコードが描画されない
@Override
protected void doInBackground(Void... params) {
publishProgress(); // Run onProgressUpdate() method
}
}
@Override
protected void onProgressUpdate(Void... params) {
// Here you can access the UI thread
Canvas canvas = new Canvas();
Paint pa1= new Paint();
pa1.setColor(Color.RED);
pa1.setStyle(Paint.Style.FILL);
pa1.setStrokeWidth(50);
canvas.drawLine(0, 0, 100, 100, pa1);
}
キャンバスが画面上のものに接続されていません。 'onProgressUpdate'が進行状況を表示するために使用できるカスタムビューを作成したいと思うかもしれません。 –
これで、 'extends view'で新しいクラスを作成し、' onProgressUpdate() 'から' ondraw() 'を呼び出す必要があると思います。それですか? – difegui
ビューはビュー階層の一部である必要がありますが、それでも画面に表示されません。だから、新しいビューを作成する必要はありません。アクティビティーのレイアウトにビューを定義してから、そのビューを見つける必要があります。実際の図面をビューの 'onDraw'メソッドに入れて[@Vova suggests](http://stackoverflow.com/a/41469887/535871)にします。 –