2015-04-01 33 views
0

我正在做一個二維渲染類(呈現一個int像素數組),我想要顯示這個像素到屏幕上。我用ImageView嘗試過,但不工作;有沒有像Android上的畫布方法?或者,您如何創建一個始終更新的圖像? (我已經實現了運行的類)更新imageView所有的時間,Android

這是我做了什麼:

@Override 
public void run() 
{ 
Imageview exampleImage = (ImageView) findViewById(R.id.exampleId); 
// This is a simple method to do the int array image; 
int[] img = new int[100]  
for(int i = 0; i < 100; i++){ 
img[i] = i*100; 

    } 
    Bitmap bitmap = Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888); 

    bitmap.setPixels(img, 0, 10, 0, 0, 100, 100); 
    exampleImage.setImageBitmap(bitmap); 

} 

好,而且不會在屏幕

+0

嗨,我看你是新來的SO。如果您覺得答案可以解決問題,請點擊綠色複選標記將其標記爲「已接受」。這有助於將注意力集中在仍然沒有答案的舊版SO上。 – 2015-04-01 21:48:24

回答

1

是上顯示任何東西,你應該創建一個自定義View和利用Canvas將填充下面的Bitmap

重寫View#onDraw(Canvas)並使用Canvas#drawPoints(float[], Paint)方法繪製像素。然後,您可以使用View#postInvalidateDelayed(long)或其中的一些兄弟方法強制View重繪本身,直到動畫完成。

你可以在this API指南中找到更多關於畫布和Drawables的信息。

+0

謝謝,我認爲應該解決我的問題 – 2015-04-01 21:38:29