Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法将ImageBitmap从画布位图设置到ImageView_Android_Imageview_Android Canvas - Fatal编程技术网

Android 无法将ImageBitmap从画布位图设置到ImageView

Android 无法将ImageBitmap从画布位图设置到ImageView,android,imageview,android-canvas,Android,Imageview,Android Canvas,我正在尝试在应用程序小部件的ImageView上渲染画布绘制的位图。无法实现这一点,我正在尝试一个更简单的示例,没有RemoteViews对象,因此只需将一些矩形渲染到画布中,然后在ImageView上设置。我只是看到一个空白的活动。以下是代码示例: LinearLayout layout = new LinearLayout (this); layout.setDrawingCacheEnabled(true); try { Bitmap bitmap = Bitmap.createB

我正在尝试在应用程序小部件的ImageView上渲染画布绘制的位图。无法实现这一点,我正在尝试一个更简单的示例,没有RemoteViews对象,因此只需将一些矩形渲染到画布中,然后在ImageView上设置。我只是看到一个空白的活动。以下是代码示例:

LinearLayout layout = new LinearLayout (this);
layout.setDrawingCacheEnabled(true);
try
{
    Bitmap bitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(bitmap);
    Paint red = new Paint ();
    red.setColor(0xCC0000);
    Paint blue = new Paint ();
    blue.setColor (0x0099CC);
    canvas.drawRect(0, 0, 100, 100, red);
    int percent = 55;
    canvas.drawRect(0, 0, percent, 100, blue);
    ImageView imageView = new ImageView (this);
    imageView.setDrawingCacheEnabled(true);
    imageView.setImageBitmap(bitmap);
    imageView.setAdjustViewBounds(true);
    imageView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
              LayoutParams.WRAP_CONTENT));
    layout.addView(imageView);

}
catch(Exception e)
{
    Log.e("ElectionForecastWidgetProvider", "error with bar", e);
}
this.setContentView(layout);

我一直在调整各个部分,比如在堆栈上方和其他地方搜索后,尝试setDrawingCacheEnabled方法。有人能提供一些见解吗?谢谢

颜色以ARGB格式显示,请尝试将其更改为

...
red.setColor(0xFFCC0000);
...
blue.setColor (0xFF0099CC);
...

颜色以ARGB格式显示,请尝试将其更改为

...
red.setColor(0xFFCC0000);
...
blue.setColor (0xFF0099CC);
...

好的-酷!看来这就是问题所在,谢谢哈里斯!好的-酷!看来这就是问题所在,谢谢哈里斯!