今天是个好日子
我希望您能帮助我理解如何在视图上实现的 OnTouchEvent 上将图像添加到画布中的概念。到目前为止,这就是我想出的。
parent是在此自定义视图中实例化并添加到的活动。
@Override
protected void onDraw(Canvas canvas)
{
// TODO Auto-generated method stub
super.onDraw(canvas);
}
public void insertImage()
{
if (parent.selected_icon.contentEquals("image1"))
{
image = getResources().getDrawable(R.drawable.image1);
}
else if (parent.selected_icon.contentEquals("image1"))
{
image = getResources().getDrawable(R.drawable.image2);
}
else if (parent.selected_icon.contentEquals("iamge3"))
{
image = getResources().getDrawable(R.drawable.image3);
}
Rect srcRect = new Rect(0, 0, image.getIntrinsicWidth(),
image.getIntrinsicHeight());
Rect dstRect = new Rect(srcRect);
Bitmap bitmap = Bitmap.createBitmap(image.getIntrinsicWidth(),
image.getIntrinsicHeight(), Bitmap.Config.ALPHA_8);
Canvas canvas = new Canvas();
canvas.drawBitmap(bitmap, srcRect, dstRect, null);
invalidate();
}
当你想在视图上绘制时,你必须在onDraw()
, 使用Canvas
经过那里。那Canvas
已经绑定到Bitmap
这就是您视图的实际绘图。
我必须做类似的事情,我的方法是这样的:
- 作为班上的一员,我有一张“要在视图上绘制的东西”的清单。
- 每当我向该列表添加内容时,我都会打电话
invalidate()
, 以便onDraw()
会被叫的。
- My
onDraw()
看起来像这样:
...
protected void onDraw(Canvas canvas) {
super.onDraw(canvas); // the default drawing
for(ThingToBeDrawn thing : mListOfThingsToBeDrawn) {
thing.drawThing(canvas); // draw each thing over the view
}
}
A Canvas
只是一个用来画图的工具Bitmap
,它的工作原理与SurfaceView
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)