gpt4 book ai didi

android - "Hiding"Android 中的 OverlayItem,可能吗?

转载 作者:搜寻专家 更新时间:2023-11-01 08:14:33 25 4
gpt4 key购买 nike

我正在开发 MapView 应用程序,并想在程序中放置一个漂亮的小复活节彩蛋。我想要做的是有一个基本上不可见的叠加项,但是当点击时会触发一个事件来显示 View 。

现在在 iPhone 上,我通过在我不希望可见的注释上使用 setHidden:true 来完成此操作。注释仍然存在并且仍然可以点击,但您看不到它。

我试图在 Android 的 overlayItem 上找到一些等效的方法,但一无所获。我唯一的选择是找到/创建透明图像并将其作为叠加层添加到 mapView 吗?如果必须的话,我可以这样做,但是还有其他选择吗?如果没有,谁能给我指一个相对较小的透明图像?

最佳答案

我知道您找到了一种隐藏叠加层的方法,但还有更优雅的方法可以做到这一点。为您的叠加层制作自定义类:

public class MapOverlay extends Overlay{

private Boolean visible;

public MapOverlay(){
this.visible = true;
}

public void draw(Canvas canvas, MapView mapv, boolean shadow){
super.draw(canvas, mapv, shadow);

if (visible) {
// draw what you want
}
}

public Boolean isVisible() {
return visible;
}

public void isVisible(Boolean visible) {
this.visible = visible;
}

public void toggleVisible() {
this.visible = !visible;
}
}

然后在您的 Activity 中,照常添加叠加层:

mapView.getOverlays().addOverlay(new MapOverlay());

稍后,如果你想显示/隐藏你的叠加层,只需调用:

mapView.getOverlays().get(0).toggleVisible();

或:

mapView.getOverlays().get(0).isVisible(false);

希望对您有所帮助。

关于android - "Hiding"Android 中的 OverlayItem,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6156389/

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