java - 以编程方式在 viewpager 内的 SupportMapFragment 上的按钮
问题描述
我正在为一些非常简单的事情而苦苦挣扎。(或者至少这是我的想法..)
我需要在 viewpager 内的地图顶部放置一个简单的按钮。
实际上,我正在以编程方式创建 supportmapfragment 并将其添加到 crated viewpager adapter 中。
ViewPagerAdapter adapter = new ViewPagerAdapter
(getSupportFragmentManager());
mapFrag = new SupportMapFragment();
mapFrag.getMapAsync(this);
adapter.addFragment(mapFrag, getString(R.string.maptab));
现在...要在顶部放置一个按钮,我需要来自 supportmapfragment 的视图,这样我就可以通过 addview 向上推“我的按钮_”。
我无法理解如何在不扩展 supportmapfragment 类的情况下检索视图,但这需要我创建一个自定义 supportmapfragment 类。
任何想法?
建议后:我用相对布局做了一个测试:
<fragment
android:id="@+id/rlMap"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</fragment>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="Button 1"/>
这个 make 按钮出现一秒钟(在地图加载之前),然后被 map 发现。甚至将按钮放在片段排序相同的效果
解决方案
即使您尝试将按钮放在片段的视图上,您仍然需要设置一个单击侦听器并在按下它时执行一些逻辑。我认为这会使现有代码有点混乱,将片段的职责(注册按钮单击侦听器)传递给活动。
如果我是你,我会做什么创建一个新Fragment
的,其中ConstraintLayout
包含底层地图和按钮(但不扩展SupportMapFragment
)。这将是一个包装片段,您还可以在其中处理按钮及其事件,以及更多需要的东西。
推荐阅读
- python-3.x - 损失不变:Python 3.6 中的反向传播与 MNIST 数据集
- python - 自定义 django auth.view 或自定义登录视图
- java - 使用 TestNG 执行并行测试(Firefox 和 chrome)时面临问题,
- html - BABYLONJS:我需要创建 720*480 的 2D 背景标记,并根据屏幕的纵横比做出响应
- python - 使用十进制数据类型在 1076 位之后无法打印
- mysql - 使用 CAST 操作的 SQL 中的变量类型案例
- html - X轴隐藏后不消失,在移动视图上仍然有效
- javascript - 隐藏显示动画不起作用
- python - 使用 Python & beautifulsoup4 从特定 td 返回文本
- ruby-on-rails - actionCable of Rails5