我試圖在android工作室開發一個應用程序,我想使用Paint
和Canvas
,基本上畫的東西,當我使用publishProgress
。Android Studio在背景中的油漆
如果你們中的任何人都能告訴我我的代碼出了什麼問題,以及爲什麼這些代碼沒有繪製任何東西,那將是非常棒的。
注意。這一切都是在AsyncTaskActivity
類
@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
視圖需要成爲視圖層次結構的一部分,否則它將不會出現在屏幕上。所以,不,你不想創造一個新的觀點。您需要在活動的佈局中定義一個視圖,然後查找該視圖。按照[@Vova建議](http://stackoverflow.com/a/41469887/535871)將實際繪圖放在視圖的'onDraw'方法中。 –