使用Clans FloatingActionButton时遇到问题。我需要添加一个阻止父图层的透明层。我需要的效果类似于Google Inbox。 所以在我的例子中我有这个序列: 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上的click事件。 我尝试了不同的方法来解决这个问题,但我找到的唯一方法是以编程方式调整背景大小。这不是一个好的解决方案,因为效果不好。
我会在几个小时内将演示和源代码上传到github,但即使希望有人可以帮我一些想法。谢谢
EDITED
答案 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();
}
}
});
希望我能帮助你。