解决:Android 设置 Activity 透明和页面开闭时闪烁

这篇具有很好参考价值的文章主要介绍了解决:Android 设置 Activity 透明和页面开闭时闪烁。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、说明

我们有的时候需要添加一个透明的 Activity,在上面做一些操作,但往往会有一些问题,要么不能完全透明,要么打开和关闭时存在短暂的闪烁,会影响用户体验。我在网上搜索了一些答案,亲试很发现大多是存在问题的。最后经过一系列尝试后终于实现用户无感知透明了。

二、解决方案

1、设置 Activity 透明

在 manifest 文件中给指定 Activity 设置如下主题。

    <!-- 透明主题 可实现 Activity 完全透明 -->
    <style name="TransTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowBackground">@android:color/transparent</item> <!-- 背景色透明 -->
        <item name="android:windowIsTranslucent">true</item> <!-- 是否有透明属性 -->
        <item name="android:backgroundDimEnabled">false</item> <!-- 背景是否半透明 -->
        <item name="android:statusBarColor">@android:color/transparent</item> <!-- 状态栏透明 -->
        <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item> <!-- activity窗口切换效果 -->

        <item name="android:windowNoTitle">true</item>
        <item name="android:activityOpenEnterAnimation">@null</item>
        <item name="android:activityOpenExitAnimation">@null</item>
        <item name="android:activityCloseEnterAnimation">@null</item>
        <item name="android:activityCloseExitAnimation">@null</item>
        <item name="android:windowTranslucentStatus">false</item>
    </style>

2、启动和关闭页面时闪烁问题

重写 Activity 的以下 2 个方法。文章来源地址https://www.toymoban.com/news/detail-683477.html

    @Override
    public void overridePendingTransition(int enterAnim, int exitAnim) {
        super.overridePendingTransition(0, 0);
    }

    @Override
    public void finish() {
        super.finish();
        overridePendingTransition(0, 0);
    }

到了这里,关于解决:Android 设置 Activity 透明和页面开闭时闪烁的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android 设置系统SystemUI 顶部StatusBar状态栏透明一体化

    当你开启其他应用的时候,执行的是onPause()方法,当返回Launcher的时候执行的是onRestart()方法, /frameworks/base/package/SystemUI/…. PhoneStatusBar.java //sendBroadcast change systemUI statusbar color start Intent intent=new Intent(“change_statusbar_black”); sendBroadcast(intent); status_bar.xml 的默认背景色是透明的 Pow

    2024年04月17日
    浏览(69)
  • Unity中用代码控制物体透明度(物体闪烁简易版)

    之前看了很多文章,有些文章对于只是想简单使用代码控制物体透明度的小伙伴不是很友好,比如我。所以研究了半天找到了很简单的一个方法,在这里分享给初入门想用的小白,希望能给你们带来帮助,同时给自己当作笔记记录一下。      

    2024年02月08日
    浏览(43)
  • Android 白天黑夜模式切换适配及引起的Activity销毁重启解决

    目录 一、白夜模式切换,Activity销毁重启解决: 二、 暗黑模式适配  1. 添加依赖:   2. 复制下面工具类方法直接使用即可: 3.资源适配:  4. 适配回调: 5.切换白夜模式注意事项:         当白夜模式切换时,activity会销毁重新加载,谷歌是希望重新加载Activity可以刷新页面UI,但我的

    2023年04月20日
    浏览(33)
  • Android System crash DeadSystemException(Service/Activity/终极解决方案)

    DeadSystemException : The core Android system has died and is going through a runtime restart. All running apps will be promptly killed. Android 核心系统服务已经死亡,正在重启中。全部正在运行的app即将被kill杀死。 更多请阅读,DeadSystemException官方介绍 chatgpt给出的解决答案 : Android中的DeadSystemException是

    2024年02月10日
    浏览(44)
  • Android Studio模拟器启动后不停闪烁(已玄学解决)

    问题描述: Android Studio模拟器启动后不停闪烁 解决方法: 右侧点击Device Manager打开设备管理,点击修改标志  将Graphics(图样)换成Software(软件),点击Finish。  这个方法是网上找的,但是不好使TAT,闪烁的问题目前未解决,可能需要换台配置好的电脑(目前很穷,有工资再说吧

    2024年02月11日
    浏览(54)
  • Android开发-Activity中“android:exported“属性的作用,以及“Permission Denial: starting Intent“错误解决

    如何在一个应用程序中,启动另外一个应用程序?最近正有这样的需求,也踩了一个小坑。本节介绍使用Activity中\\\"android:exported\\\"属性来实现这种访问。 Activity中\\\"android:exported\\\"属性说明: 在程序清单AndroidMenifest.xml文件中,可以设置这个属性。 Android中的Activity中\\\"android:exported\\\"属

    2024年02月06日
    浏览(50)
  • Android Studio Flamingo缺失Legacy Layout Inspector功能,无法查看当前Activity解决方案

    Android Studio 从4.0升级到Android Studio Flamingo之后,发现无法使用Layout Inspector功能来查看当前的Activity。 Android Studio Flamingo版本的Layout Inspector只提供了查看页面布局的功能,没有如下所示的选择框: 解决方案: 在File–Setting–Plugins搜索Legacy Layout Inspector插件,安装重启Android Stu

    2024年02月10日
    浏览(54)
  • Android 设置相关页面

    本文主要记录下android 中跳转设置相关页面的一些action. 在android 中,我们一般使用intent+指定的action来跳转相关设置页面. Action 设置为Settings.ACTION_WIFI_SETTINGS ,用户可以跳转wifi设置页面. Action 设置为 Settings.ACTION_DATA_ROAMING_SETTINGS, 用户可以跳转sim卡与流量管理相关页面. Action 设置

    2024年03月22日
    浏览(29)
  • adb 命令获取当前页面的Activity,启动某个Activity

    每次找来找去太麻烦,再次记录一下

    2024年01月18日
    浏览(51)
  • 解决:Unable to add window -- token android.os.BinderProxy is not valid; is your activity running?

    这个问题是我想存储已经创建过的弹窗进行复用过程当中出现的报错,具体代码请看: 在查看报错之后可以确定是 Context 上下文的问题。 在创建Dialog时需要在构造方法当中传递一个Context,如果这个上下文被销毁即这个Activity已经走了OnDestroy方法。那么这个上下文就无效了,

    2024年02月09日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包