java以编程方式在viewpager中的SupportMapFragment上单击按钮
我正在为一件非常简单的事情而挣扎。(或者至少这是我的想法……)
我需要在viewpager中的地图顶部放置一个简单的按钮
事实上,我正在以编程方式创建supportmapfragment,并将其添加到装箱的viewpager适配器中
ViewPagerAdapter adapter = new ViewPagerAdapter
(getSupportFragmentManager());
mapFrag = new SupportMapFragment();
mapFrag.getMapAsync(this);
adapter.addFragment(mapFrag, getString(R.string.maptab));
现在。。。要在顶部放置一个按钮,我需要supportmapfragment中的视图,以便通过addview向上推“我的按钮”
我无法理解如何在不扩展supportmapfragment类的情况下检索视图,但这需要我创建一个自定义supportmapfragment类
有什么想法吗
建议后:我使用相对布局进行了测试:
<fragment
安卓:id="@+id/rlMap"
class="com.google.安卓.gms.maps.SupportMapFragment"
安卓:layout_alignParentTop="true"
安卓:layout_alignParentStart="true"
安卓:layout_width="match_parent"
安卓:layout_height="match_parent" >
</fragment>
<Button
安卓:id="@+id/button1"
安卓:layout_width="wrap_content"
安卓:layout_height="wrap_content"
安卓:layout_alignParentBottom="true"
安卓:text="Button 1"/>
此“使”按钮出现一秒钟(地图加载前),然后被地图覆盖。甚至在片段中放置按钮也会产生同样的效果
# 1 楼答案
即使您尝试将按钮放在片段的视图上,您仍然需要设置一个单击侦听器,并在按下按钮时执行一些逻辑。我认为这会使现有代码有点混乱,将片段的责任(注册按钮单击侦听器)传递给活动
如果我是你,我会做的是创建一个新的
Fragment
,其中包含一些ConstraintLayout
,其中包含基础映射和按钮(但不扩展SupportMapFragment
)。它将是一个包装器片段,您还可以在其中处理按钮及其事件,以及任何需要更多的内容