2015-04-01 54 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