华为手机切换屏幕效果_华为p40页面切换效果怎么换

华为手机切换屏幕效果_华为p40页面切换效果怎么换通过style自定义Activity切换动画在华为上失效问题

大家好,又见面了,我是你们的朋友全栈君。

描述

昨天尝试了一下采用style的方式定义Activity之间切换动画,大致步骤如下:

  • 新建一个AnimationActivity的style,继承自Android:style/Animation.Activity。设置四个item。
<style name="AnimationActivity" parent="@android:style/Animation.Activity">
        <!--打开新的activity时旧的activity动画-->
        <item name="android:activityOpenExitAnimation">@anim/activity_open_exit</item>
        <!--打开新的activity时新的activity动画-->
        <item name="android:activityOpenEnterAnimation">@anim/activity_open_enter</item>
        <!--退出activity时旧的activity动画-->
        <item name="android:activityCloseExitAnimation">@anim/activity_close_exit</item>
        <!--退出activity时新的activity动画-->
        <item name="android:activityCloseEnterAnimation">@anim/activity_close_enter</item>
</style>
复制代码
  • 并在Application的apptheme中添加android:WindowAnimationStyle.
<item name="android:windowAnimationStyle">@style/AnimationActivity</item>
复制代码

四个动画资源文件就不放出了,很简单的缩放平移操作。

一切弄好之后,在我的华为真机上测试却根本没有我需要的Activity之间切换的动画,都是默认的。一开始我以为代码哪里有错误,google了好长时间,这么几行简单的代码好像并没有什么错误,很是郁闷。无奈我今天扒出了屏幕摔得细碎的小米5,在上面测试了一下代码,emmmmm动画完美展现,内心真是。。。

我又找了下华为与android动画之间的问题,只找到了组件旋转rotate动画在华为上失效的问题,并没有activity切换动画的问题。无奈,我只好换了一只方法,在BaseActivity里面通过overridePendingTransition方法设置转场动画,动画正常。

public class BaseActivity extends Activity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        overridePendingTransition(R.anim.activity_open_enter, R.anim.activity_open_exit);
    }
    
    @Override
    public void finish() {
        super.finish();
        overridePendingTransition(R.anim.activity_close_enter, R.anim.activity_close_exit);
    }
}
复制代码
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106814.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月22日 上午8:40
下一篇 2022年4月22日 上午8:40


相关推荐

  • PHP开发api接口安全验证

    PHP开发api接口安全验证

    2021年10月13日
    40
  • 什么是敏捷开发?

    什么是敏捷开发?敏捷开发 Agile 是一种以人为核心 迭代 循序渐进的开发方法 在敏捷开发中 软件项目的构建被切分成多个子项目 各个子项目的成果都经过测试 具备集成和可运行的特征 简单地来说 敏捷开发并不追求前期完美的设计 完美编码 而是力求在很短的周期内开发出产品的核心功能 尽早发布出可用的版本 然后在后续的生产周期内 按照新需求不断迭代升级 完善产品 是谁这么厉害 提出了敏捷开发思想 是一位名叫 Ma

    2026年3月18日
    2
  • 图解LVS的工作原理「建议收藏」

    图解LVS的工作原理「建议收藏」目录LVS介绍LVS简介LVS特点:LVS内核工作模型LVS常见术语LVS模式介绍NAT模式DR模式其他模式LVS调度算法介绍LVS的部署NAT模式的实现DR模式的实现调度器配置WEB后端服务器配置实验测试LVS介绍LVS简介LVS是LinuxVirtualServer的简称,也就是Linux虚拟服务器,是一个…

    2022年7月24日
    10
  • pytest运行_pytest执行多个py文件

    pytest运行_pytest执行多个py文件前言pytest运行完用例之后会生成一个.pytest_cache的缓存文件夹,用于记录用例的ids和上一次失败的用例。方便我们在运行用例的时候加上–lf和–ff参数,快速运行上一

    2022年7月31日
    12
  • lppl matlab,求助,有没有会用matlab做LPPL模型

    lppl matlab,求助,有没有会用matlab做LPPL模型预测未来是一件不靠谱的事 而预测泡沫的变化就更不靠谱 但是 最新的跨学科研究使对资产泡沫的预测成为可能 到年底前 我相信大家可以看到世界上两大资产泡沫的见顶 黄金和中国房价 至于怎么从顶上下来 就无法预测了 什么是资产泡沫的准确定义 跨学科的研究发现 只有 超指数增长 才能吸引理性和非理性的人参与其中 形成资产泡沫 在著名的寓言故事里 一位大臣请求波斯国王在国际象棋棋盘的 64 个格子里放 1 2 4

    2026年3月19日
    2
  • atop用法_atop学习

    atop用法_atop学习引言 Linux 以其稳定性 越来越多地被用作服务器的操作系统 当然 有人会较真地说一句 Linux 只是操作系统内核 但使用了 Linux 作为底层的操作系统 是否我们就能保证我们的服务做到 7 24 地稳定呢 非也 要知道业务功能是由系统上跑的程序实现的 要实现业务功能的稳定性 选择 Linux 只是迈出的第一步 我们更多地工作是不让业务程序成为稳定性的短板 当我们的服务器出现问题的时候 外在的表现是业务功能

    2026年3月16日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号