Abh*_*bhi 23 android drawable android-mapview
我想创建一个drawable,它由一个map pin(bubble)和一些文本组成.气泡应该在背景中,文本在前景中.
这个drawable应该传递super(drawable)
给BalloonItemizedOverlay
扩展的类ItemizedOverlay<Item>
.
换句话说,我想在地图中显示的气泡中显示文字.
我正在使用Hello Mapview 教程
Mar*_*moy 62
这个方法从你的资源中获取一个drawable,在它上面绘制一些文本并返回新的drawable.您需要做的就是为它提供泡泡的资源ID,以及您想要的文本.然后,您可以将返回的drawable传递到任何您想要的位置.
public BitmapDrawable writeOnDrawable(int drawableId, String text){
Bitmap bm = BitmapFactory.decodeResource(getResources(), drawableId).copy(Bitmap.Config.ARGB_8888, true);
Paint paint = new Paint();
paint.setStyle(Style.FILL);
paint.setColor(Color.BLACK);
paint.setTextSize(20);
Canvas canvas = new Canvas(bm);
canvas.drawText(text, 0, bm.getHeight()/2, paint);
return new BitmapDrawable(bm);
}
Run Code Online (Sandbox Code Playgroud)
要保持密度,您需要此构造函数
BitmapDrawable (Resources res, Bitmap bitmap)
Run Code Online (Sandbox Code Playgroud)
所以,保持你的背景,最后的回归应该是这样的
return new BitmapDrawable(context.getResources(), bm);
Run Code Online (Sandbox Code Playgroud)
这可以防止不需要的重新调整大小的可绘制.
归档时间: |
|
查看次数: |
33681 次 |
最近记录: |