问题描述
我想打开弹出窗口,我使用的地图V2在弹出窗口中显示的地图V2,但不显示在这里,我把我的XML布局和活动类
< RelativeLayout的的xmlns:机器人=http://schemas.android.com/apk/res/android
的xmlns:工具=http://schemas.android.com/tools
机器人:layout_width =match_parent
机器人:layout_height =match_parent
机器人:paddingBottom会=@扪/ activity_vertical_margin
机器人:以下属性来=@扪/ activity_horizontal_margin
机器人:paddingRight =@扪/ activity_horizontal_margin
机器人:paddingTop =@扪/ activity_vertical_margin
工具:上下文=MainActivity。>
<按钮
机器人:ID =@ + ID /按钮
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignParentLeft =真
机器人:layout_alignParentTop =真
机器人:layout_marginTop =100dp
机器人:文本=按钮/>
< / RelativeLayout的>
< LinearLayout中的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:ID =@ + ID / popuplayout
机器人:layout_width =match_parent
机器人:layout_height =match_parent
机器人:背景=@机器人:彩色/黑白
机器人:方向=垂直>
<按钮
机器人:ID =@ + ID / buttoncancel
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:文本=取消
机器人:layout_gravity =右
/>
<片段
机器人:ID =@ + ID / popupmapview
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT
机器人:layout_margin =10dp
类=com.google.android.gms.maps.SupportMapFragment/>
< / LinearLayout中>
公共类MainActivity扩展FragmentActivity {
PopupWindow PW;
GoogleMap的地图;
@覆盖
保护无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.main);
Button按钮=(按钮)findViewById(R.id.button);
button.setOnClickListener(新OnClickListener(){
@覆盖
公共无效的onClick(视图v){
initiatePopupWindow();
}
});
}
私人无效initiatePopupWindow()
{
尝试
{
//我们需要得到LayoutInflater的情况下,使用此活动的背景下
LayoutInflater充气=(LayoutInflater)MainActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//充气从predefined XML布局视图
查看布局= inflater.inflate(R.layout.popupstellodetailpage,
(ViewGroup中)findViewById(R.id.popuplayout));
//创建一个300px的宽度和高度470px PopupWindow
PW =新PopupWindow(布局,300,470,真);
//显示在中心的弹出
pw.showAtLocation(布局,Gravity.CENTER,0,0);
地图=((SupportMapFragment)getSupportFragmentManager()
.findFragmentById(R.id.popupmapview))的GetMap()。
按钮buttoncancel =(按钮)layout.findViewById(R.id.buttoncancel);
buttoncancel.setOnClickListener(新OnClickListener()
{
@覆盖
公共无效的onClick(视图v)
{
pw.dismiss();
}
});
}
赶上(例外五)
{
e.printStackTrace();
}
}
}
他们是仅有的两个傻问题,我发现..你只需要改变这个片段
<片段
机器人:ID =@ + ID / popupmapview
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT
机器人:layout_margin =10dp
类=com.google.android.gms.maps.SupportMapFragment/>
这个..
<片段
机器人:ID =@ + ID / popupmapview
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT
机器人:layout_margin =10dp
类=com.google.android.gms.maps.MapFragment/>
和改变行法[initiatePopupWindow]
地图=((SupportMapFragment)getSupportFragmentManager()findFragmentById(R.id.popupmapview)。)的GetMap()。
这个..
地图=((MapFragment)getFragmentManager()findFragmentById(R.id.popupmapview)。)的GetMap();
i want to open the popup window on that i used the map v2 for displaying map v2 in popup window but is not displayhere i put my xml layout and activity class
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="100dp"
android:text="Button" />
</RelativeLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/popuplayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black"
android:orientation="vertical" >
<Button
android:id="@+id/buttoncancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancel"
android:layout_gravity="right"
/>
<fragment
android:id="@+id/popupmapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="10dp"
class="com.google.android.gms.maps.SupportMapFragment" />
</LinearLayout>
public class MainActivity extends FragmentActivity {
PopupWindow pw;
GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button= (Button)findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
initiatePopupWindow();
}
});
}
private void initiatePopupWindow()
{
try
{
//We need to get the instance of the LayoutInflater, use the context of this activity
LayoutInflater inflater = (LayoutInflater) MainActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//Inflate the view from a predefined XML layout
View layout = inflater.inflate(R.layout.popupstellodetailpage,
(ViewGroup) findViewById(R.id.popuplayout));
// create a 300px width and 470px height PopupWindow
pw = new PopupWindow(layout, 300, 470, true);
// display the popup in the center
pw.showAtLocation(layout, Gravity.CENTER, 0, 0);
map= ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.popupmapview)).getMap();
Button buttoncancel=(Button)layout.findViewById(R.id.buttoncancel);
buttoncancel.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
pw.dismiss();
}
});
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
their is only two silly problem as I found .. You just change this fragment
<fragment
android:id="@+id/popupmapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="10dp"
class="com.google.android.gms.maps.SupportMapFragment" />
to this..
<fragment
android:id="@+id/popupmapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="10dp"
class="com.google.android.gms.maps.MapFragment" />
and change a line in method [initiatePopupWindow]
map= ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.popupmapview)).getMap();
to this..
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.popupmapview)).getMap();
这篇关于显示地图V2在弹出的窗口中机器人不显示?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!