android中的自定义弹出式活动,而不是对话
我正在制作一个使用maps api的应用程序,我想在用户创建标记时创建一个自定义的弹出式活动(不是一般的“是/否”对话框)。我想做的是:android中的自定义弹出式活动,而不是对话,android,google-maps-api-3,google-maps-markers,popupwindow,Android,Google Maps Api 3,Google Maps Markers,Popupwindow,我正在制作一个使用maps api的应用程序,我想在用户创建标记时创建一个自定义的弹出式活动(不是一般的“是/否”对话框)。我想做的是: 当用户长时间点击地图时,它会打开一个新的活动,而不是对话 此活动显示lat和lang,有一个输入文本的字段,以及“是/否”按钮 如果用户单击“是”,则标记将被固定;如果没有,则标记将被固定 当用户单击创建的标记时,它将显示lat、lng和输入的文本 我当前的代码: //Add marker on long click mMap.setOnMap
//Add marker on long click
mMap.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {
@Override
public void onMapLongClick(LatLng arg0) {
Intent intent = new Intent(getActivity(), CreateRestautantActivity.class);
startActivity(intent);
marker = mMap.addMarker(new MarkerOptions()
.icon(BitmapDescriptorFactory.fromResource(R.drawable.custom_marker))
.position(
new LatLng(arg0.latitude,
arg0.longitude))
.visible(true));
}
});
非常感谢您的帮助:)您应该使用
对话框片段。这允许您自定义对话框的外观和功能
关于如何使用它们的Android博客帖子:
参考:
其他几个教程/示例:您应该使用对话框片段。这允许您自定义对话框的外观和功能
关于如何使用它们的Android博客帖子:
参考:
其他几个教程/示例:好的,也许我没有掌握所有细节,但在这种情况下,我会做以下操作:
1.使用OnMapLongClickListener
。然后在onMapLongClick()
中,您可以做任何您想做的事情。您有纬度和经度的LatLng
对象-您可以将它们放入捆绑包中
,或者以其他方式将它们传递给新的活动
例如,你可以参考帖子。
创建一个标记
并将其作为字段存储在活动中
2.我想,为新的活动制作xml
并在setContentView()中使用它很容易。将上一步中传递的参数放入lat
和lng
字段中。将OnClickListener
放在按钮上。
3.您可以使用方法启动新的活动,并在返回时处理新活动的结果。
关于stackoverflow也有很多信息
然后,在onActivityResult()
中,您可以对标记进行一些操作(例如,将其删除)
4.使用-并在onmarker点击(Marker Marker)
从该标记中调用getPosition()
-并从中获取lat
和lng
如果您需要更多详细信息,请告诉我;) 好吧,也许我不知道所有的细节,但在这种情况下,我会做以下事情:
1.使用OnMapLongClickListener
。然后在onMapLongClick()
中,您可以做任何您想做的事情。您有纬度和经度的LatLng
对象-您可以将它们放入捆绑包中
,或者以其他方式将它们传递给新的活动
例如,你可以参考帖子。
创建一个标记
并将其作为字段存储在活动中
2.我想,为新的活动制作xml
并在setContentView()中使用它很容易。将上一步中传递的参数放入lat
和lng
字段中。将OnClickListener
放在按钮上。
3.您可以使用方法启动新的活动,并在返回时处理新活动的结果。
关于stackoverflow也有很多信息
然后,在onActivityResult()
中,您可以对标记进行一些操作(例如,将其删除)
4.使用-并在onmarker点击(Marker Marker)
从该标记中调用getPosition()
-并从中获取lat
和lng
如果您需要更多详细信息,请告诉我;) 为什么不使用自定义对话而不是打开活动,如果您为该地图创建单独的活动,请在再次返回地图时重新加载该地图!!因此,我建议自定义对话比这更好。@Jhaman Das我计划扩展此弹出窗口-添加日期/时间选项、标记一些朋友、启用聊天等,因此我认为最好将此作为一项活动。为什么不使用自定义对话而不是打开活动,如果您为该地图创建单独的活动,请在您再次回来时重新加载地图!!所以我建议自定义对话比这个更好。@Jhaman Das我计划扩展这个弹出窗口-添加一个日期/时间选项,标记一些朋友,启用聊天等,所以我认为最好将此作为一项活动。我不想使用对话,因为我计划使这个弹出窗口更复杂-添加一个日期/时间选项,标记一些朋友(从弹出对话框中),启用聊天等,因此我认为最好将此作为一项活动来执行。在活动中可以执行的任何操作都可以在DialogFragment
中执行。我认为这比尝试管理两个活动之间的导航要简单得多。我最担心的是,我必须从DialogueFragment打开“联系人”对话框(当我添加一个选项来选择要在标记上标记的朋友时)。这似乎是不应该做的事情。感谢您的解释,这真的很有帮助:)我不想使用对话框,因为我计划使这个弹出窗口更复杂-添加一个日期/时间选项,标记一些朋友(从弹出对话框),启用聊天等,因此我认为最好将此作为一项活动来执行。在活动中可以执行的任何操作都可以在DialogFragment
中执行。我认为这比尝试管理两个活动之间的导航要简单得多。我最担心的是,我必须从DialogueFragment打开“联系人”对话框(当我添加一个选项来选择要在标记上标记的朋友时)。这似乎是不应该做的事情。感谢您的经验