2017-07-17 62 views
0

我有地图的位图缩略图,我想在地图中添加地图标记,但我很努力。我能够覆盖这两个位图,但前面的一个显着小而不居中。有没有办法将位图居中并将其扩展?这是什么样子:如何居中和缩放位图上覆盖的可绘制图标

enter image description here

我看着这个Android: How to overlay-a-bitmap/draw-over a bitmap?它帮助,但地图标记是非常小的,偏离中心。谢谢

+0

得到位图你为什么不用户的FrameLayout,让布局有两个孩子(ImageView的),让第一个孩子的过程绘制位图,将第二个孩子的布局引力设置为中心,并将其设置为绘制叠加图标,它将完全按照您的需要收获。 – Techfist

+0

@T我有其他类型的附件,如图片等,所以我不想在他们所有的针。此外,我编辑了问题描述,因为我在添加两个位图方面取得了一些进展。我很抱歉为 – frog4

+0

不能看到你附加的图像,请尝试再次附加它。 – Techfist

回答

0

更新:

我最终解决了这个问题。我将把我的解决方案留给任何未来需要它的人。这里有云:

public static Bitmap overlay(Bitmap bmp1, Bitmap bmp2) { 
    Bitmap resizedBitmap = Bitmap.createScaledBitmap(bmp2, 500, 500, false); 
    Bitmap bitmapWithOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig()); 
    Canvas canvas = new Canvas(bitmapWithOverlay); 

    canvas.drawBitmap(bmp1, new Matrix(), null); 
    canvas.drawBitmap(resizedBitmap, ((bmp1.getWidth()/2)-250), ((bmp1.getHeight()/2)-450), null); 

    return bitmapWithOverlay; 
} 

,这里是从绘制

 Bitmap icon = BitmapFactory.decodeResource(getActivity().getBaseContext().getResources(), 
      R.drawable.your_icon); 
1

你可以把两个在同一FrameLayout。 FrameLayout被构建为只有一个孩子,如果你把更多的孩子放进去,他们会重叠。这个。

而且让更多的孩子进入FrameLayout并不是不好的做法。