Android使用动画,动画不动的坑

博客介绍了在Android中为VideoView添加转场动画遇到的问题,即动画在onCreate(), onResume(), onViewCreated()等生命周期方法中可以正常运行,但通过Handler延迟启动时动画无法显示。作者经过多次试验,找到了成功的方法,使得延迟启动的动画能够正常工作。" 132680727,19671095,使用Boost库的boost::ptr_list详解及示例,"['C++编程', '数据结构', 'Boost库', '容器']
摘要由CSDN通过智能技术生成

软件需求:在 VideoView上,加上一个动画,来转场。 

网上的例子都是用

TranslateAnimation, 然后用类似方案调用

    void performAnim(){
        TranslateAnimation animation1 = new TranslateAnimation(1,1,1,800);//设置方向,初始位置和末位的设置
        animation1.setDuration(2000);//设置动画持续时间
        animation1.setRepeatCount(0);//设置重复次数
        iv_cloud.setAnimation(animation1);
        iv_cloud.requestFocus();
        /** 开始动画 */
        animation1.startNow();
    }

实际试验 ,如果它被放在onCreate(), onResume(), onViewCreated()里都没问题,可以放。但是如果延后放动画,比如通过handler去发message调用,那么这一段就不管用了,动画一动不动。

后来试验 了好几个小时,终于找到好办法了:

    public static void startTranslateAnim(Context context, View view) {
        Animation animation = AnimationUtils.loadAnimation(context, R.anim.anim_translate_up_down);
        if (view != null)
            view.startAnimation(animation);
    }</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值