Android Dialog setCanceledOnTouchOutside失效,点击dialog外面不消失

前言:有一个需求需要点击dialog外面要消失,本来以为很简单结果设置了一直未生效

复制代码
setCanceledOnTouchOutside(true);

问了半天chat-gpt4结果给的答案都不明显

查看代码发现设置了style,于是尝试去除这个style,结果点击setCanceledOnTouchOutside(true);生效了

复制代码
    <style name="LionCommonDialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowFrame">@null</item>
        <item name="android:windowIsFloating">false</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:background">@android:color/transparent</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:backgroundDimEnabled">true</item>
        <item name="android:backgroundDimAmount">0.5</item>
    </style>

经过排比法,发现是<item name="android:windowIsTranslucent">true</item>导致的

Chatgpt说他会影响触摸事件,终于真相大白了!!!!

相关推荐
yewq-cn12 小时前
AOSP 下载
android
cch891813 小时前
Laravel vs ThinkPHP:PHP框架终极对决
android·php·laravel
米码收割机13 小时前
【Android】基于安卓app的汽车租赁管理系统(源码+部署方式+论文)[独一无二]
android·汽车
流星雨在线13 小时前
安卓使用 Startup 管理三方 SDK 初始化
android·startup
jwn99913 小时前
Laravel3.x:PHP框架的经典里程碑
android
lishutong100613 小时前
基于 Perfetto 与 AI 的 Android 性能自动化诊断方案
android·人工智能·自动化
REDcker13 小时前
Android Bionic Libc 原理与实现综述
android·c++·c·ndk·native·bionic
葱段14 小时前
Flutter 设置Android System Navigation/Status Bar背景色
android·flutter
半条-咸鱼14 小时前
如何通过 ADB 连接安卓设备(USB + 无线 TCP/IP)
android·adb
vonlycn14 小时前
Android Studio 5.3.3 新项目编译报错解决
android·ide·android studio