gpt4 book ai didi

Android Google Map IconGenerator - 制作透明标记图标

转载 作者:太空宇宙 更新时间:2023-11-03 12:31:38 28 4
gpt4 key购买 nike

所以我正在使用 ClusterManager 对我的 Markers 进行聚类,以便用户可以获得更好的体验。

我实际上已经实现了 Google 的代码,我发现了它 here .现在想象一下,我的 Marker 图标是一个球。我希望图标的背景是透明的,而不是白色。

在 Google 的原始教程中,他们将 ImageView 设置为 IconGenerator,如下所示:

public class MyClusterManagerRenderer extends DefaultClusterRenderer<ClusteredMarker> {

private final IconGenerator mIconGenerator;
private final ImageView mImageView;

public MyClusterManagerRenderer(Context context, GoogleMap googleMap,
ClusterManager<ClusteredMarker> clusterManager){

super(context, googleMap, clusterManager);

mIconGenerator = new IconGenerator(context);
mImageView = new ImageView(context);
mIconGenerator.setContentView(mImageView);
}

@Override
protected void onBeforeClusterItemRendered(ClusteredMarker item, MarkerOptions markerOptions) {

mImageView.setImageResource(item.iconPicture);
Bitmap icon = mIconGenerator.makeIcon();
markerOptions.icon(BitmapDescriptorFactory.fromBitmap(icon)).title(item.user);
}

...
}

我尝试了几种方法使我的图标透明,比如调用:

mImageView.setBackgroundColor(Color.TRANSPARENT);

但没有成功。我设法找到解决方案的唯一方法是直接将我的透明图像附加到 IconGenerator,如下所示:

mIconGenerator.setBackground(aContext.getResources().getDrawable(R.drawable.ball));

这种方法的缺点是 ImageView 有一些我想调用的有趣方法,比如 setPadding,而 IconGenerator没有那个。

那么,有没有办法使用 ImageView 使我的图标透明?

谢谢,

最佳答案

我找到的解决方案是这样的:

private static final Drawable TRANSPARENT_DRAWABLE = new ColorDrawable(Color.TRANSPARENT);

// Make the background of marker transparent
mIconGenerator.setBackground(TRANSPARENT_DRAWABLE);

关于Android Google Map IconGenerator - 制作透明标记图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32158927/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com