FAB透明图层不会阻止父图层

时间:2015-07-12 03:28:31

标签: android floating-action-button

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

enter image description here

2)点击fab

enter image description here

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

enter image description here

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

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

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

我会在几个小时内将演示和源代码上传到github,但即使希望有人可以帮我一些想法。谢谢

EDITED

1 个答案:

答案 0 :(得分:2)

我已经从Github下载了你的项目并自己尝试了代码并解决了这个问题。

对于我来说,它非常适合我,正如Inbox by 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();

                }
            }
        });

希望我能帮助你。