android - 无法将 ImageBitmap 从 Canvas 位图设置到 ImageView

标签 android imageview android-canvas

我正在尝试将 Canvas 绘制的位图渲染到 App Widget 中的 ImageView 上。无法让它工作,我正在尝试一个更简单的示例,没有 RemoteViews 对象,所以只是尝试将一些矩形渲染到 Canvas 中,然后将其设置在 ImageView 上。我只看到一个空白 Activity 。这是代码示例:

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

关于android - 无法将 ImageBitmap 从 Canvas 位图设置到 ImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12466156/

相关文章:

java - 如何在 Canvas 上以原始方式绘制更多矩形?

android - 通过 Intent 将 BluetoothDevice 对象传递给另一个 Activity

android - 是否可以在多部分 POST 中嵌套 MultipartEntities 或 FormBodyPart?

android - 图标未显示在 ImageView 中

android - 缩放时更改 ImageView 的大小

Android - android.widget.ImageView 无法转换为 android.view.ViewGroup

安卓 : Notification navigation

android - 确定由哪个进程调用 Application.onCreate()

Android:测量 Canvas 上的文本高度

android - 在 Android 中上下滑动更改布局