这是我的Android应用程序的主要内容:
1.用户从图库中选择图片或从应用程序中选择默认图片
2.图片显示在ImageView中
3.用户点击图片上的任意位置
4.用户输入文字和点击次数'完成'按钮
5.使用Canvas.drawText
问题:有时不会在用户点击的位置绘制文字。我注意到只有那些大于ImageView的图片才会出现此问题。
这是检索用户点击的坐标的代码:
mImageView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if (event.getActionMasked() == MotionEvent.ACTION_UP) {
xCoord = event.getX();
yCoord = event.getY();
mEditText.setText("");
Toast.makeText(getApplicationContext(), xCoord + ", " + yCoord, Toast.LENGTH_LONG).show();
}
return true;
}
});
这是在Bitmap上绘制文本的代码:
String text = mEditText.getText().toString();
Paint textPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);
textPaint.setColor(colorId);
textPaint.setTextSize(textSize);
textPaint.setAntiAlias(true);
Bitmap mutable = mBitmap.copy(Bitmap.Config.ARGB_8888, true);
Canvas canvas = new Canvas(mutable);
canvas.drawText(text, xCoord, yCoord, textPaint);
mImageView.setImageBitmap(mutable);
mBitmap = mutable;
mEditText.setText("");
我使用的是720x1280,320 dpi仿真器 任何帮助表示赞赏!提前谢谢!