gpt4 book ai didi

android - 可以像 android 中的窗口一样使 View 不可触摸吗?

转载 作者:行者123 更新时间:2023-11-29 00:29:21 25 4
gpt4 key购买 nike

可以将窗口设置为不可触摸,这意味着您只需使用以下代码将整个窗口设置为不可触摸即可单击该 Activity 后面的任何内容:

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);

现在我的问题是:是否可以只使 RelativeLayout 不可触摸,我的意思是用户可以触摸 RelativeLayout 后面的任何东西,但他将不能触摸 RelativeLayout 中 Button 后面的任何东西。

这是我的 xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rl"
style="@android:color/transparent"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="44dp"
android:text="Button" />


</RelativeLayout>

我需要 relativelayout 不可触摸,用户可以触摸它后面的任何东西。我只需要 relativelayout 中的按钮是可触摸的

因此,Button 可触摸,RelativeLayout 不可触摸。我可以触摸按钮,但不能触摸 RelativeLayout 我只能触摸它后面的东西。

使用时
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);整个窗口也被设置为不可使用 Button 触摸,这不是我想要的。

我希望我的问题是可以理解的。

编辑:

我想做的就是在另一个应用程序(例如 Skype)上显示一个按钮我只希望该按钮可以与 Skype 应用一起点击。

最佳答案

尝试将 android:duplicateParentState="true" 添加到您的 RelativeLayout 这会将事件传播到 View 树中。

如果这不起作用,请尝试覆盖此方法。 http://developer.android.com/reference/android/view/ViewGroup.html#onInterceptTouchEvent(android.view.MotionEvent)

关于android - 可以像 android 中的窗口一样使 View 不可触摸吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16858973/

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