2016-09-27 59 views
1

我需要为我的android应用程序制作自定义信息窗口;如下所示。请看下面的图片。Android地图自定义信息窗口与框形状在Clusterer底部

当用户点击标记时出现此信息窗口。它可以根据标记位置显示在地图的顶部或地图的底部。

我没有想法做到这一点。我已经探索了stackoverflow,许多方式来创建自定义信息窗口,但对于这个,我还没有找到任何解决方案。那么,有人可以告诉我如何建立?

enter image description here

+0

PLZ发表您的Java代码自定义对话框.. –

+1

@ DileepPatel我没有任何想法做到这一点。这就是为什么我发布了这个问题 –

+0

你在屏幕截图中显示的对话框,你不需要信息窗口,因为通常用于显示地图引脚aligntop的信息窗口。您可以轻松创建自定义视图并在用户点击任何地图引脚时弹出它! – Jai

回答

1

您可以通过此code..onClick您的按钮的设置编程自定义窗口

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(); 
+0

我工作但有一个问题是,一半的对话框显示在底部 –

+0

我认为你的xml代码中的问题,你可以检查以设置您的布局高度match_parent或wrap_content –

+0

它看起来像[this](https://drive.google。 com/file/d/0BzIMMfIUt -fJSTd4b2FEX3NHZEk/view?usp = sharing)'layout_marginBottom'不能正常工作 –

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); 
)}; 
+0

这也是一个好主意。 –