Android在应用上绘制不可点击的布局
我在其他应用程序上绘制了一个布局,设置为匹配父应用程序以填充整个屏幕。在这个布局中,我有一个聊天头,可以拖动它并单击它来显示更多信息。通常情况下,我会将布局设置为包装内容,只占用我需要的屏幕空间,但如果没有一个大的家长来帮助我聊天,Android SpringAnimations就无法工作 我遇到的问题是,我无法与我在上面绘制布局的背景交互。我以前尝试过以XML和编程方式将RelativeLayoutAndroid在应用上绘制不可点击的布局,android,android-relativelayout,clickable,focusable,Android,Android Relativelayout,Clickable,Focusable,我在其他应用程序上绘制了一个布局,设置为匹配父应用程序以填充整个屏幕。在这个布局中,我有一个聊天头,可以拖动它并单击它来显示更多信息。通常情况下,我会将布局设置为包装内容,只占用我需要的屏幕空间,但如果没有一个大的家长来帮助我聊天,Android SpringAnimations就无法工作 我遇到的问题是,我无法与我在上面绘制布局的背景交互。我以前尝试过以XML和编程方式将RelativeLayoutroot\u容器设置为clickable:false和focusable:false,但我仍然无
root\u容器设置为clickable:false
和focusable:false
,但我仍然无法单击任何其他内容。是否有一种解决方案,使我的根目录容器
不会注册单击,但其中的聊天头可以继续注册
我感觉这个问题不同于其他不可聚焦/不可搜索的问题,因为它涉及“绘制其他应用程序”功能,这可能会改变我不知道的事情
<!--Root container - Causing the problems with elements beneath it-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/root_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--Small Chat head view that can be dragged around root_container-->
<RelativeLayout
android:id="@+id/collapse_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:orientation="vertical"
android:visibility="visible">
<ImageView
android:id="@+id/floating_icon"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/floating_icon"
tools:ignore="ContentDescription" />
<ImageView
android:id="@+id/close_button"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginLeft="40dp"
android:src="@drawable/ic_close"
tools:ignore="ContentDescription" />
</RelativeLayout>
</RelativeLayout>
谢谢你看 通过一些研究,我发现这是不可能的,因为它可能允许各种恶意机会。如果视图被设置为标志\u不可触摸
,则无法与之交互,并且如果您尝试发送触摸事件,它们将不会进入主屏幕。解决方案就是重构,这样父视图就不会占据主屏幕。通过一些研究,我发现这是不可能的,因为它可能允许各种恶意机会。如果视图被设置为标志\u不可触摸
,则无法与之交互,并且如果您尝试发送触摸事件,它们将不会进入主屏幕。解决方案就是重构,这样父视图就不会填满主屏幕。尝试使用可点击:false
设置@+id/root\u容器
。。。。并使用可点击:true设置@+id/collapse\u视图
。。。汇报什么happens@MohammedAlSafwan不走运!clickable:false
似乎没有注册。我应该注意到,聊天头有一个onTouch侦听器,因此它也可以单击。请尝试使用clickable:false
设置@+id/root\u container
。。。。并使用可点击:true设置@+id/collapse\u视图
。。。汇报什么happens@MohammedAlSafwan不走运!clickable:false
似乎没有注册。我应该注意到聊天头有一个onTouch监听器,所以它已经可以点击了。
mFloatingView = LayoutInflater.from(this).inflate(R.layout.layout_floating_view, null);
final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
mWindowManager.addView(mFloatingView, params);