首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

旧版Android设备的setFinishOnTouchOutside的替代品?

旧版Android设备的setFinishOnTouchOutside的替代品是setOnCancelListener。setOnCancelListener是DialogFragment类中的一个方法,用于在用户点击对话框外部时执行特定操作。这个方法可以作为setFinishOnTouchOutside的替代品,用于处理旧版Android设备上的对话框取消操作。

以下是一个简单的示例代码:

代码语言:java
复制
public class MyDialogFragment extends DialogFragment {
    @Override
    public void onCancel(@NonNull DialogInterface dialog) {
        super.onCancel(dialog);
        // 在这里处理对话框取消操作
    }

    @Override
    public void onStart() {
        super.onStart();
        Dialog dialog = getDialog();
        if (dialog != null) {
            Window window = dialog.getWindow();
            if (window != null) {
                window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
                window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
            }
        }
    }
}

在这个示例中,我们重写了onCancel方法来处理对话框取消操作。当用户点击对话框外部时,onCancel方法会被调用。在onStart方法中,我们设置了对话框的背景颜色为透明,并设置了对话框的大小。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

关于app提示专为旧版Android打造有关测试

一般这种情况,要么是用了低版本安卓专用参数,要么就是应用SDK版本配置过低,上网查了一下,原因大致是因为从Android9开始,操作系统对minSdk进行了限制。...也就是说: Android P机以上机型上,当应用targetSdk版本低于17时,应用启动时会弹窗“此应用专为旧版Android打造,因此可能无法正常运行。请尝试检查更新或与开发者联系”。...综上所述,解决方法有二: 方法一:app修改 android:targetSdkVersion 值为合适值 方法二:降低ro.build.version.min_supported_target_sdk...设置值 这里我用第一种方法,首先查看我自己手机Android API 然后在手机上用MT管理器反编译,更改AndroidManifest.xml中targetSdkVersion值为29...,你们支持是我前进动力!

4.3K20

GitHub 替代品

,但还是希望读者能意识到它本质还是家商业公司,在提供这么多好用、免费功能同时,肯定会在其他方面找回来,比如前不久收费副驾驶员 Copilot[9],毕竟天下没有免费午餐。...,当时 CEO 在 Twitter[12] 上是这么回应: It is painful for me to hear how trade restrictions have hurt people....在俄罗斯攻打乌克兰时,也有群众呼吁禁用俄罗斯用户访问,不过最后没有实施[13]。 当然,不仅仅是上述原因,重要文件多处备份永远都是非常必要。...— Codeberg News[15] • Why I Use Sourcehut | parasrah[16] 个人觉得,追求纯 FOSS 有些属于软件开发领域意识形态,属于吃饱没事干才会考虑问题...,但人就是这样物种,多多少少都有些自己坚持。

74010
  • DTO 替代品!!

    数据传输对象是在进程之间承载数据对象。使用它动机是进程之间通信通常通过远程接口完成,其中每次调用都是昂贵操作。...由于每次调用大部分成本都与客户端和服务器之间往返时间有关,因此减少调用次数一种方法是使用一个对象(DTO)来聚合本应传输数据由几个呼叫,但仅由一个呼叫提供服务。...在这种情况下,最好方法是返回实体本身。 2 JPA 投影 我们在特定情况下请求特定数据。因此,当调用到达数据访问层时,所需数据范围是完全已知:执行适合此范围 SQL 查询是有意义。...本质上,查询中投影允许精确地选择想要数据。...GraphQL 为您 API 中数据提供了完整且易于理解描述,使客户能够准确地询问他们需要什么,仅此而已,使 API 更容易随着时间推移而发展,并支持强大开发人员工具。

    1.1K30

    Android设备屏幕方向一二事

    根据设备配置信息 Configuration cf= activity.getResources().getConfiguration(); // 获取设置配置信息 int ori = cf.orientation...配置AndroidManifest.xml 在activity 中加入 android:screenOrientation="landscape" 属性。...处理Activity配置变更 有些设备配置可能会在运行时发生变化(例如屏幕方向、键盘可用性及语言)。 发生这种变化时,Android 会重启正在运行 Activity。...重启行为旨在通过利用与新设备配置匹配备用资源自动重新加载Activity,来帮助它适应新配置。但重启Activity并恢复大量数据不仅成本高昂,且用户体验差。...(目标API>13时必需) 参考:https://developer.android.com/guide/topics/resources/runtime-changes.htmlAndroid设备屏幕方向一二事

    1.8K280

    Kubectl 替代品:kubeman

    周末闲逛 Twitter 时,发现一个很有意思小工具叫 kubeman,野心倒是不小,励志成为 kubectl 替代品,用于实时监控和管理 kubernetes 集群,还可以调试与 Istio...如果只使用 kubectl,当网格中服务出现问题时,可能需要运行很多命令,而且要交叉引用来自多个命令输出信息,这就会导致问题分析过程很复杂。...还提供了一些额外操作: 一旦操作项运行并输出了结果,你就可以在输出面板顶部搜索框里通过关键词搜索相应文本。如果想删除搜索关键词,可以按下键盘上 esc 键。 ?...每个操作项输出会按层级进行分组。最顶部输出行(深蓝色)显示是输出结果标题,单击这一行会将整个输出折迭起来,只显示组和子组,这样就可以看到整个输出概要。再次单击这一行就会显示整个输出。 ?...同理,你可以单击某一个组来折迭这个组输出,只显示子组。同理适用于子组。 不同子组下输出都可以展开和折迭,你可以上下滚动来选择感兴趣子组,然后单击展开输出。 ?

    1K20

    Postman 替代品来了

    Postwoman 一个开源、免费、快速、漂亮 API 构建器,可以替代 Postman。 这个名字起得挺有意思,感觉像 Postman 媳妇。...Postwoman 诞生过程: 它作者是一个全栈开发工程师,经常使用 Postman 做 API 测试,Postman 对不同操作系统都做了客户端,作者常在不同平台做测试,感觉这点非常麻烦,而且 Postman...还收费,也不支持 cURL,还有其他一些让他不爽地方,这时作者就起了掐死 Postman 念头,他心中想要一个这样 API 测试工具: 开源 在线运行 多平台支持 多设备支持 可以在任何地方访问...POST 中添加原生域 支持集合,可以把请求放入集合 支持代理 支持Docker 功能真不少,我对她支持 cURL 和 GraphQL 比较感兴趣,试了一下导入cURL,输入curl命令后,她会自动转为普通请求方式

    1.8K20

    Android获取实时连接热点设备IP

    最近有很多网友向小编咨询这样问题:通过读取/proc/net/arp文件可以得到连接当前热点设备IP,但是一旦设备断开后,该设备IP还是存在该文件中,遇到这样麻烦不知道该如何解决了。...就像系统设置里面的 便携式热点管理一样方便 方式 可以实时监控热点连接设备变化 下面小编给大家分享一段实例代码,希望可以帮助到大家,具体代码如下所示: private ArrayList getConnectedIP...热点设备Ip地址代码 最近在做一个安卓设备间传输文件app,建立热点让两部设备在同一个局域网之间传输文件,需要知道连接热点设备ip地址,这边记录一下获取方式: WifiManager wifiManager..." + ((i 24) & 0xFF); } 总结 以上所述是小编给大家介绍Android获取实时连接热点设备IP,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家...在此也非常感谢大家对ZaLou.Cn网站支持!

    2.4K10

    GravityRAT针对Android设备间谍行为分析

    之前GravityRAT比较注于计算机恶意攻击,但是研究者发现该木马正增加针对macOS和Android平台攻击。...近期,恒安嘉新暗影实验室App全景态势与情报溯源挖掘平台监测到一款名为爱欲故事(英文:Lust Stories)恶意程序,研究人员分析发现该应用利用用户Android 设备多个广播事件(开关飞行模,...2)设备关闭屏幕时,设备发送android.intent.action.SCREEN_OFF广播,启动恶意服务,获取用户通话记录、通讯录、短信等内容。...图4-8 屏幕关闭发送广播启动恶意服务 3)设备打开屏幕时,设备发送android.intent.action.SCREEN_ON广播,启动恶意服务,获取用户通话记录、通讯录、短信等内容。...图4-14 设备充电发送广播启动恶意服务 9)设备断开充电,设备发送android.intent.action.ACTION_POWER_DISCONNECTED广播,启动恶意服务,获取用户通话记录、通讯录

    41110

    iOS Android 移动设备 Touch Icons

    好了,结合Jeff 查阅资料,下面来详细来说说iOS / Android 移动设备 touch icons。 关于 “Touch icons” favicons 知道是什么吧?...,Chrome v31+ for Android 以上版本支持这个;但遗憾是,苹果设备不支持这个。...考虑到最大兼容性,Chrome for Android 做了一定牺牲,那就是,如果再你网页上找不到上面的代码,就会向下兼容,跟随者苹果设备支持touch icons(类似一开头代码)。...不同Touch icons 尺寸 (接下来讲基本上是apple 设备)考虑到不同设备分辨率以及屏幕材质问题,为了最佳显示体验,你可以用sizes标签定义下,如: <link rel="apple-touch-icon-precomposed...我说,代码是死<em>的</em>,而且不是每个人都用apple <em>的</em><em>设备</em><em>的</em>,确实是没有必要过于考虑完全——不然累<em>的</em>是自己。其实原文还有一些内容<em>的</em>,但这篇文章就这样结束了。

    2.2K60

    Dart语言接口替代品

    在Dart语言中并没有接口概念,但接口功能需要其他功能来弥补,这就是抽象类。接口作用是用于制定规范。也就是说,在接口中定义方法,都必须在实现接口类中实现。而且接口本身并不能实例化。...Dart中抽象类与接口类似,但也有一定差异。它们区别、联系以及主要用途如下: • Dart抽象类允许定义没有方法体方法,这一点与接口一样。不过也允许定义包含方法体普通方法。...• 如果在Dart抽象类中定义没有方法体方法,那么抽象类子类必须实现这个方法,否则子类也出现编译错误,除法将子类声明为抽象类,否则代码无法编译通过。...• 抽象类中有方法体方法就是普通方法,在抽象类子类中并不要求覆盖这些普通方法,但要想使用普通方法,必须用普通类继承抽象类,才可以实例化,并调用这些普通方法。 • 通常可以用抽象类实现多态效果。...尽管这两个变量中包含了同样方法,但由于这两个类中实现方法代码不同,所以通过这两个变量调用同名方法效果也不同,这就叫多态。

    46930

    android studio 使用adb 命令传递文件到android 设备方法

    一:文件传输 在android开发中,有时候需要将文件从pc端传递至android,或者将软件运行日志,从android设备传递到pc进行分析,我们可以使用windowscmd窗口,或者android...1:连接android设备 此处默认是android设备,已打开usb调试模式,并且数据线已经和电脑连接。我们先使用adb devices指令,查询一下设备是否正常连接. ?...3:将android设备文件传递至pc电脑 adb -s xxxx pull /sdcard/ad_file_log/ D:/2014work/ 此处用cmd命令下载 ?...查看设备   adb devices 这个命令是查看当前连接设备, 连接到计算机android设备或者模拟器将会列出显示 ?   ...总结 以上所述是小编给大家介绍android studio 使用adb 命令传递文件到android 设备,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

    4.3K10

    Java 中 pyftpdlib 替代品

    在 Java 中,有一些替代方案可以用来实现 FTP 服务器功能,类似于 Python 中 pyftpdlib。目前我们常用就是三种替换方案,这里需要根据自己项目需求选择合适方法。...2、解决方案Java 中有许多可替代 pyftpdlib FTP 服务器库,其中包括:Apache FtpServer:Apache FtpServer 是 Apache Jakarta 项目的一部分...,是一个功能强大且可扩展 FTP 服务器,支持多种协议和特性,包括 SSL/TLS、匿名登录、虚拟用户等。...SimpleFTP:SimpleFTP 是一个轻量级且易于使用 FTP 服务器库,提供了基本 FTP 功能,例如文件上传、下载、删除等,非常适合小型应用程序使用。...,要知道这些 Java FTP 服务器库都提供了丰富功能和灵活配置选项,可以根据我们需求选择最适合替代方案。

    12910

    Android 上关于设备唯一标识调研

    简而言之:IMEI / MEID 是和设备相关,移动设备唯一标志码;而IMSI 和 ICCID 是和手机卡相关,信息存储到手机卡上,没有安装手机卡手机,上面获取这两个值为null。...关于SIM卡相关信息,一般来说没有办法标志设备,因为手机可以任意替换SIM卡,而且现在手机都是双卡双待,关于双卡手机获取和手机卡相关信息参考这篇文章 我们这里主要关心设备ID(IMEI或者MEID...),解释下这两个东西:IMEI是国际移动设备识别码简称,而MEID是 动设备识别码简称,一般IMEI是所有设备都有,而MEID一般只在只有支持CDMA制式设备才有的。...IMEI或者MEID Android系统关于双卡支持知识需要知道一些,在Android4.x及其以下版本时候,原生Android是不支持双卡,在5.x左右开始支持,但是api是隐藏,在Android...ANDROIDID 在设备首次启动时,系统会随机生成一个64位数字,并把这个数字以16进制字符串形式保存下来,这个16进制字符串就是ANDROID_ID,当设备被wipe后该值会被重置。

    3.4K30

    利用旧版Android漏洞E-Z-2-Use攻击代码已在Metasploit发布

    利用旧版Android漏洞E-Z-2-Use攻击代码发布利用Android操作系统WebView编程接口漏洞攻击代码已作为一个模块加入到开源漏洞利用框架Metasploit中。...漏洞影响Android 4.2之前版本,Google在Android 4.2中修正了这个漏洞,但根据官方统计,超过五成用户仍然使用存在漏洞旧版本。...WebView漏洞允许攻击者在Android浏览器和其它应用中注入恶意 JavaScript代码,获得与目标程序相同访问权限,攻击者可以开启一个shell窗口访问受害者文件系统、照相机,地理位置数据...漏洞还可通过不安全网络中间人攻击触发。漏洞存在于Android系统中,而不是私有的 GMS 应用平台,只有更新系统才能修正漏洞。...安全研究人员Tod Beardsley希望,攻击代码披露能迫使供应商尽快升级系统。

    80860

    ActiveReports 6:如何升级旧版项目

    如果现有的项目基于ActiveReports旧版本开发,但现在希望使用ActitveReports for .NET 6.0新功能,就需要把现有的项目升级到6.0上。...附带转换工具(参见下面“升级ActiveReports for .NET 1.0 或2.0项目”); 二是在Visual Studio中打开工程,用新版本DLL替换掉旧版DLL引用,并且修改代码编译错误...在弹出添加引用对话框中,选择版本为6.x.xxx.x ActiveReports引用。...在1.0和2.0版本中,控件名称可以用大小写区分,比如可以用”Test”和”test”表示两个不同控件,但ActiveReports 6(和3)要求控件名称必须是唯一且不区分大小写。...如果装载RPX文件中包含两个仅用大小写区分名字控件,装载将会失败。为了避免此问题,需要给每个控件一个单独名字,并且把代码做相应修改。

    1.7K60

    Android设备之间通过Wifi通信示例代码

    Android需要连接到该热点才能进一步进行通信,但是由于主机并没有连接到网络,所以在该种情况下Android设备无法使用网络实现相关网络服务(比如关键数据上传,网络数据获取等等),所以仪器在开始设计时候将其作为客户端...,Android设备作为主机(网上相关资料大多是将Android设备作为客户端),当Android设备开启热点后,仪器会主动尝试连接固定热点信息,其中网络SSID和密码已经写死了,所以需要手机端手动修改热点名称...在开启热点之后,此时手机相当于一个路由器,这个路由器IP地址是固定(本人测试过3台Android设备,其默认路由器地址:192.168.43.1,iPhone默认路由器地址:172.20.10.1...),这个Demo主要实现目标是Android设备客户端发送信息,服务端接受到信息后再发送信息给客户端。...那么Android设备创建SocketServer代码如下: 只有一个按钮,实现在线程中启动相对应服务,所以在这里就不上图了,直接放代码: package com.example.socketserver

    1.3K10

    Android 7.0开发获取存储设备信息方法

    本文实例讲述了 Android 7.0开发获取存储设备信息方法。...分享给大家供大家参考,具体如下: Android 7.0开发相较之前有不少改进,具体可参考前面的文章Android7.0版本影响开发改进分析,这里简单总结一下Android 7.0针对存储设备简单操作方法...MountPoint 我们通过MountPoint来描述android设备信息 private static class MountPoint { String mDescription;...相关内容感兴趣读者可查看本站专题:《Android文件操作技巧汇总》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android布局layout技巧总结...》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》及《Android控件用法总结》 希望本文所述对大家Android程序设计有所帮助。

    86110

    Android获得所有存储设备位置最佳方法

    本方式可以获得内部存储设备地址、SD卡地址、USB设备地址,兼容性能达到99%(别问我为什么这么保证,因为是借鉴了Android设置- 存储页面的源码)。...由于调用了几个被@hide方法,所以采用了反射。...方法实现,也是将path重新创建为StorageVolume类,然后再调用其getState方法,我们这样做成这不是多此一举吗?...主要原因是@hide这个方法里,mountPoint被重新打包成StorageVolume时,这相当于系统去创建一个StorageVolume实例,自然可以执行它所有方法。...以上这篇Android获得所有存储设备位置最佳方法就是小编分享给大家全部内容了,希望能给大家一个参考。

    1.4K20
    领券