我需要为我的Android应用程序制作自定义信息窗口;如下。请看下面的图片。
当用户点击标记时,会出现此信息窗口。它可以根据标记位置显示在地图的顶部或地图的底部。
我不知道这个。我已经探索了stackoverflow,创建自定义信息窗口的方法很多,但对于这个,我还没有找到任何解决方案。那么,有人可以告诉我如何构建它吗?
答案 0 :(得分:1)
您应该制作自定义布局。
<FrameLayout>
....
<MapFragment/>
<FrameLayout (match_parent, match_parent) ... android:id="@+id/my_info_window_wrapper"/>
<LinearLayout...
android:id="@+id/my_info_window"
android:visibility = "gone">
<ImageView../>
<TextView../>
</LinearLayout>
</FrameLayout >
并在代码中
mViewWrapper.setOnClickListener(new OnClickLister{
mView.setVisibility(View.GONE);
)};
GoogleMap.setOnMarkerClickListener(new OnMarkerClickListener{
mView.setVisibility(View.VISIBLE);
)};
答案 1 :(得分:1)
您可以通过此代码以编程方式设置自定义窗口。按下按钮
LayoutInflater inflater = LayoutInflater.from(this);
final Dialog dialog1 = new Dialog(this);
Window window = dialog1.getWindow();
WindowManager.LayoutParams wlp = window.getAttributes();
wlp.gravity = Gravity.BOTTOM; // Here you can set window top or bottom
wlp.flags &= ~WindowManager.LayoutParams.FLAG_DIM_BEHIND;
window.setAttributes(wlp);
View view1 = inflater.inflate(R.layout.openYourWindow, null);
dialog1.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog1.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
dialog1.setContentView(view1);
dialog1.show();