问题描述
我想在我的Android应用程序使用自定义标记的泡沫。要做到这一点,我创建了一个InfoWindowAdapter返回并填充视图。
I'm trying to use customized marker "bubbles" in my Android app. To do this, I created a InfoWindowAdapter which returns and populates the View.
然而,出于某种原因,现在看来,这不会让我申请一个动画到该视图(或任何在里面)。我想它在一定的动画方式弹出,但我可能失去了一些东西。
However, for some reason, it seems it won't let me apply an animation to that view (or whatever is inside). I would like it to pop in a certain, animated way but I'm probably missing something.
这是我到目前为止已经试过:
This is what I've tried so far:
map.setInfoWindowAdapter(new InfoWindowAdapter() {
private final View contents = getLayoutInflater().inflate(R.layout.marker_layout, null);
public View getInfoWindow(Marker marker) {
TranslateAnimation animator = new TranslateAnimation(0.0f, 0.0f, 0.0f, 100.0f);
animator.setDuration(2000);
animator.setInterpolator(new AccelerateInterpolator());
animator.setFillAfter(true);
contents.findViewById(R.id.entity_name).clearAnimation();
contents.findViewById(R.id.entity_name).startAnimation(animator);
((TextView) contents.findViewById(R.id.entity_name)).setText(marker.getTitle());
return contents;
}
/* ... */
该视图被成功地创建并填充,但没有aparent动画。如果我申请相同的动画它完美的作品布局的另一个元素,所以我开始认为这是一些关于谷歌地图使用的信息窗口的方式,也许?
The view gets succesfully created and populated, but no aparent animation. If I apply that same animation to another element of the layout it works flawlessly so I'm starting to think this is something about the way Google Maps uses the information windows, perhaps?
推荐答案
您不能动画应用到信息窗口
,一个简单的原因。你在看信息窗口
不是你定义的布局,但被从中得出的图像。这意味着你can'y操纵这个信息窗口
。
You can't apply animation to the InfoWindow
, for one simple reason. what you see in the InfoWindow
is not the layout you defined but an image that was drawn from it. meaning you can'y manipulate this InfoWindow
.
从谷歌的文档:
注意:的绘制的信息窗口是不是一个实时视图。视图是在它返回时呈现为图像(使用 View.draw(画布)
)。这意味着后续的视图的任何更改将不被地图上的信息窗口中反映出来。要在以后更新信息窗口(例如,图像加载后),调用 showInfoWindow()
。此外,信息窗口不会尊重任何互动的典型,如触摸或手势事件普通视图。在下面的章节叙述但是您可以收听到整个信息窗口上通用的单击事件。
这篇关于动画自定义信息窗口在Android中使用谷歌地图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!