一直在更新imageView,Android

时间:2015-04-01 20:24:24

标签: android int

我正在做一个2d渲染类(渲染像素的int数组),我想在屏幕上显示这些像素。我尝试使用ImageView,但它没有工作;在android上有像canvas这样的方法吗?或者如何创建一直更新的图像? (我已经实现了runnable类)

这就是我所做的:

   @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);

}

嗯,它在屏幕上没有显示任何内容

1 个答案:

答案 0 :(得分:1)

是的,您应该创建一个自定义View并在Canvas上绘制,这将填充下面的Bitmap

覆盖View#onDraw(Canvas)并使用Canvas#drawPoints(float[], Paint)方法绘制像素。然后,您可以使用View#postInvalidateDelayed(long)或其中一些兄弟方法强制View重绘自己,直到动画完成。

您可以在this API指南中找到有关Canvas和Drawables的更多信息。