Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android在应用上绘制不可点击的布局_Android_Android Relativelayout_Clickable_Focusable - Fatal编程技术网

Android在应用上绘制不可点击的布局

Android在应用上绘制不可点击的布局,android,android-relativelayout,clickable,focusable,Android,Android Relativelayout,Clickable,Focusable,我在其他应用程序上绘制了一个布局,设置为匹配父应用程序以填充整个屏幕。在这个布局中,我有一个聊天头,可以拖动它并单击它来显示更多信息。通常情况下,我会将布局设置为包装内容,只占用我需要的屏幕空间,但如果没有一个大的家长来帮助我聊天,Android SpringAnimations就无法工作 我遇到的问题是,我无法与我在上面绘制布局的背景交互。我以前尝试过以XML和编程方式将RelativeLayoutroot\u容器设置为clickable:false和focusable:false,但我仍然无

我在其他应用程序上绘制了一个布局,设置为匹配父应用程序以填充整个屏幕。在这个布局中,我有一个聊天头,可以拖动它并单击它来显示更多信息。通常情况下,我会将布局设置为包装内容,只占用我需要的屏幕空间,但如果没有一个大的家长来帮助我聊天,Android SpringAnimations就无法工作

我遇到的问题是,我无法与我在上面绘制布局的背景交互。我以前尝试过以XML和编程方式将RelativeLayout
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);