gpt4 book ai didi

java - 防止触摸 View android

转载 作者:行者123 更新时间:2023-12-02 04:49:33 25 4
gpt4 key购买 nike

经过一番尝试,当我单击 float 按钮时,我能够生成半透明背景。现在的问题是“新背景”只改变颜色。在此之下,我有一个回收 View ,我仍然可以向上或向下滑动并与其进行交互。我现在需要的是在我可见的布局下使用 recyclerview 阻止所有操作。我唯一能做的就是:

  • 如果我点击半透明 View ,fabric 就会崩溃

这是实际使用的代码:

OnClickListener listener = new OnClickListener()
{
@Override
public void onClick(View v)
{
if (DrawerActivity.instance.rootFab.isExpanded())
{
whiteLayout.setVisibility(View.GONE);
}
else
{
whiteLayout.setVisibility(View.VISIBLE);

}
mainFab.toggle();
}
};

当然还有:

rootFab.setAddButtonClickListener(listener);

给它听者。因此,只需单击主 fab(我使用具有多个 fab 的库),它就会显示如下布局:

----
----
<android.support.v7.widget.RecyclerView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/status"
android:clipToPadding="false"
android:scrollbars="vertical" />
<LinearLayout
android:id="@+id/semi_white_bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white_semi_transparent"
android:orientation="vertical"
android:visibility="gone" >
</LinearLayout>
---
---

如果我再次按 fab,布局就会消失...所以我的问题是,我怎样才能做同样的事情,但点击这个背景,但不“触摸”它上面的 recyclerview?

最佳答案

您可以告诉 Android 您的 View 是“可点击的”。这样,您的 View 将消耗触摸事件,并且它们不会进一步传递到您的 RecyclerView

要将 View 标记为“可点击”,只需将以下标志添加到您的 xml 布局中:android:clickable="true":

----
----
<android.support.v7.widget.RecyclerView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/status"
android:clipToPadding="false"
android:scrollbars="vertical" />
<LinearLayout
android:id="@+id/semi_white_bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white_semi_transparent"
android:orientation="vertical"
android:clickable="true"
android:visibility="gone" >
</LinearLayout>
---
---

此外,如果您仅将 View 用作背景 - 我看不出您需要重量级 LinearLayout 的任何理由。您可以在此处使用View:

----
----
<android.support.v7.widget.RecyclerView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/status"
android:clipToPadding="false"
android:scrollbars="vertical" />
<View
android:id="@+id/semi_white_bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white_semi_transparent"
android:clickable="true"
android:visibility="gone" />
---
---

关于java - 防止触摸 View android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29357341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com