繁体   English   中英

Android - Google 地图顶部的浮动操作按钮

[英]Android - Floating Action Button over the top of a Google Map

当我将浮动操作按钮放在 Google 地图的顶部时,它会阻止我与地图进行交互。

高度和宽度的布局是 match_parent,所以 FAB 占据了整个屏幕,但它在我的其他 Fragment(没有谷歌地图)上也是如此,我可以与这些 FAB 后面的视图进行交互。 当 FAB 位于带有 Google 地图的 Fragment 上时,我无法与 FAB 后面的任何视图进行交互。

我正在使用这个浮动操作按钮: https : //github.com/Clans/FloatingActionButton

有没有人有解决方案?

尝试将android:focusable="false"android:clickable=false到您的 FloatingActionButton。 但是说真的,为什么要让浮动操作按钮占据整个屏幕?

所以我最终做的是将片段放在一个带有 ViewPager 的活动中,并将 FAB 放在该活动的 xml 中,这允许我与 ViewPager 持有的片段中的地图进行交互

尝试了您的代码,我无能为力,因为您使用了许多我没有的可绘制对象,我建议您将此库用于浮动操作按钮,我正在使用相同的并且它们工作得很好。

语法是

 <com.melnykov.fab.FloatingActionButton
            android:id="@+id/buttonFloat"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|right"
            android:layout_margin="16dp"
            android:src="@drawable/abc_ic_menu_share_mtrl_alpha"
            fab:fab_colorNormal="#C2185B"
            fab:fab_colorPressed="#FF4081"
            fab:fab_colorRipple="#F06292" />

compile 'com.melnykov:floatingactionbutton:1.3.0'

在处理完 FAB 之后和渲染之前,您应该以编程方式添加这些行。

fabButton.setFocusable(false);
fabButton.setFocusableInTouchMode(false);

这个对我有用。

您需要将ToggleListener添加到您的FloatingActionMenu ,然后您可以隐藏接管屏幕的按钮。

fabMenu.setOnMenuToggleListener(new FloatingActionMenu.OnMenuToggleListener() {
            @Override
            public void onMenuToggle(boolean opened) {
                if(opened){
                    fltActsettings.setVisibility(View.VISIBLE);
                    fltActnotifications.setVisibility(View.VISIBLE);
                    fltShowMenu.setVisibility(View.VISIBLE);
                    fltActCreateRequest.setVisibility(View.VISIBLE);
                    fltActHistory.setVisibility(View.VISIBLE);
                }else{
                    fltActsettings.setVisibility(View.GONE);
                    fltActnotifications.setVisibility(View.GONE);
                    fltShowMenu.setVisibility(View.GONE);
                    fltActCreateRequest.setVisibility(View.GONE);
                    fltActHistory.setVisibility(View.GONE);
                }
            }
        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM