FAB透明层不遮挡父层

FAB transparent layer does not block the parent layer

我在使用 Clans FloatingActionButton 时遇到问题。我需要添加一个透明层来阻挡父层。我需要的效果类似于Google收件箱。 所以在我的例子中我有这个序列: 1) 点击项目 3

2) 点击 fab

3) 当我点击透明层时,ListView 中的项目被点击。

我尝试使用以下方式阻止点击事件透明层:

final FloatingActionMenu menu1 = (FloatingActionMenu) findViewById(R.id.menu1);
menu1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        menu1.close(true);
    }
});

所以使用这段代码,当我单击透明层时,fab 菜单关闭(这没问题),但相同的单击侦听器阻止了 listView 上的单击事件。 我尝试了不同的方法来解决这个问题,但我发现的唯一方法是以编程方式调整背景大小。这不是一个好的解决方案,因为效果不好。

几个小时后,我会将演示和源代码上传到 github,但希望有人能帮我出点主意。谢谢

已编辑

我已经从 Github 下载了您的项目并亲自尝试了代码并解决了问题。

正如 Google 应用程序在收件箱中所展示的那样,它对我来说效果很好。您只需更改一小部分代码。

menu1.setOnMenuToggleListener(new FloatingActionMenu.OnMenuToggleListener() {
            @Override
            public void onMenuToggle(boolean opened) {
                if (opened) {
                    menu1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            menu1.close(true);
                            menu1.setClickable(false);
                        }
                    });
                } else {
                    Toast.makeText(getApplicationContext(), "Close", Toast.LENGTH_SHORT).show();

                }
            }
        });

希望能帮到你。