Android以编程方式绘制ImageView
本文关键字:绘制 ImageView 方式 编程 Android | 更新日期: 2023-09-27 17:57:44
我正试图在画布中绘制一个图像。在构造函数中:
this.Icon = new ImageView(context);
this.Icon.SetImageResource(Resource.Drawable.icon);
this.Icon.LayoutParameters = new ViewGroup.LayoutParams(width, height);
并且在OnDraw
:中
protected override void OnDraw(Canvas canvas)
{
this.Icon.SetX(x);
this.Icon.SetY(y);
this.Icon.RequestLayout();
this.Icon.Draw(canvas);
}
它没有出现。我是不是错过了什么?
我的类扩展了View
我找到了一种在视图中绘制图像的方法:
Bitmap bitmap = BitmapFactory.DecodeResource(Resources, Resource.Drawable.icon);
var scaledBitmap = Bitmap.CreateScaledBitmap(bitmap, w, h, false);
canvas.DrawBitmap(scaledBitmap, x, y, paint);
但这种做法好吗?以这种方式绘制它在资源上更贵吗?