根据屏幕大小绘制位图

时间:2012-07-04 10:05:32

标签: android canvas bitmap draw mutable

我正和另外两个人一起学习Android项目(2.2)。

我们希望显示一些大学建筑的地图,以便您更容易找到房间。我们使用自定义ImageView(TouchImageView)。

我使用

使位图变得可变

plant = plant.copy(Bitmap.Config.ARGB_8888, true);

所以我可以将Canvas放在它上面。 然后我用

画一个红圈

Paint paint = new Paint(); paint.setColor(Color.RED); Canvas canvas = new Canvas(plant); canvas.drawCircle(xFromSearch, yFromSearch, 15, paint);

xFromSearch和yFromSearch是已使用给定值初始化的全局变量。

它适用于我的谷歌G1,但有其他显示尺寸(例如AVD或三星Galaxy SII),圆圈被涂在错误的位置......

当我使用

执行某些操作时,它可以正常工作

Display display = getWindowManager().getDefaultDisplay(); screenWidth = display.getWidth(); screenHeight = display.getHeight();

...

我希望我能为您提供所需的所有信息,有人可以提供帮助...... 非常感谢!!!

1 个答案:

答案 0 :(得分:0)

试试这个

int scale = getApplicationContext().getResources().getDisplayMetrics().density;
canvas.drawCircle(xFromSearch*scale , yFromSearch*scale , 15*scale , paint);