Android活动转换中共享元素时的屏幕闪烁问题
创始人
2024-10-08 08:01:33
0

当在Android活动之间使用共享元素进行转场时,有时会出现屏幕闪烁的问题。这通常是因为在共享元素的过渡期间,Android会暂时隐藏共享元素的视图,然后在动画结束后显示它。

解决这个问题的一种常见方法是使用postponeEnterTransition()startPostponedEnterTransition()方法来延迟共享元素的过渡动画。

首先,在进入活动的onCreate()方法中调用postponeEnterTransition()方法来延迟过渡动画的开始:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);

    // 延迟过渡动画的开始
    postponeEnterTransition();
    
    // 其他初始化操作...
}

然后,在共享元素准备好后,调用startPostponedEnterTransition()方法来开始过渡动画:

private void startTransition() {
    // 设置共享元素的过渡名称
    ViewCompat.setTransitionName(sharedElement, "shared_element_name");
    
    // 共享元素准备好后,开始过渡动画
    sharedElement.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
        @Override
        public boolean onPreDraw() {
            sharedElement.getViewTreeObserver().removeOnPreDrawListener(this);
            startPostponedEnterTransition();
            return true;
        }
    });
}

在这个示例中,sharedElement是共享元素的视图。

通过使用postponeEnterTransition()startPostponedEnterTransition()方法,可以确保共享元素在过渡动画开始之前不会被隐藏,从而解决屏幕闪烁的问题。

相关内容

热门资讯

透视数据!wpk插件,poke... 透视数据!wpk插件,pokerworld软件,方针教程(有挂分析)-哔哩哔哩1、打开软件启动之后找...
透视有挂!wpk私人局辅助是真... 透视有挂!wpk私人局辅助是真的吗,wejoker开挂,演示教程(有挂详细)-哔哩哔哩暗藏猫腻,小编...
透视总结!wepoker黑侠破... 透视总结!wepoker黑侠破解,德州私人局怎么透视,诀窍教程(有挂秘笈)-哔哩哔哩1、超多福利:超...
透视苹果版!德普之星怎么设置埋... 透视苹果版!德普之星怎么设置埋牌,哈糖大菠萝破解器,妙招教程(有挂教学)-哔哩哔哩在进入德普之星怎么...
透视好友!wepoker究竟有... 透视好友!wepoker究竟有没有透视,wejoker辅助软件,绝活儿教程(有挂功能)-哔哩哔哩1、...
透视好牌!xpoker透视辅助... 透视好牌!xpoker透视辅助,wepoker脚本下载,举措教程(有挂猫腻)-哔哩哔哩1、许多玩家不...
透视辅助!wepoker有人用... 透视辅助!wepoker有人用过吗,hhpoker是正规的吗,总结教程(有挂工具)-哔哩哔哩1、下载...
透视智能ai!德州透视是真的假... 透视智能ai!德州透视是真的假的,wepoker开脚本视频,法子教程(今日头条)-哔哩哔哩德州透视是...
透视脚本!佛手在线大菠萝智能辅... 透视脚本!佛手在线大菠萝智能辅助器,德州局透视脚本下载安装最新版本,大纲教程(有挂技巧)-哔哩哔哩1...
透视了解!哈糖大菠萝免费辅助器... 透视了解!哈糖大菠萝免费辅助器,werplan外卦神器,手筋教程(有挂实锤)-哔哩哔哩1、哈糖大菠萝...