应用程序运行时,动画的执行与代码的逻辑顺序不匹配,即指定控件未出现动画效果,而其他控件却出现动画效果

最近在做一个小应用时碰到这个问题,来分享一下解决办法:

1.为控件添加动画效果,动画默认是非阻塞的,所以动画执行的同时,动画以下的代码也会执行,因此就有可能出现标题中所述的情况

2.一种解决办法就是对动画执行过程做事件监听,在动画执行结束的方法中去执行之后的逻辑。

mTranslateAnimation.setAnimationListener(new AnimationListener() {

		        @Override
			public void onAnimationStart(Animation animation) {

			}

			@Override
			public void onAnimationRepeat(Animation animation) {

			}
								
			//动画执行结束后调用的方法
			@Override
			public void onAnimationEnd(Animation animation) {
			if (isLock) {
				// 已加锁条目调到未加锁条目中
				// 添加动画效果

				// 1.已加锁集合删除一个,未加锁集合添加一个,对象就是getitem方法获取的对象
				mLockList.remove(appInfo);
				mUnLockList.add(appInfo);
				// 2.从已加锁数据库中删除一条数据
				mDao.delete(appInfo.packageName);
				// 3.刷新数据适配器
				mLockAdapter.notifyDataSetChanged();
			} else {
				// 未加锁条目跳到已加锁条目中
				// 添加动画效果

				// 1.已加锁集合添加一个,未加锁集合移除一个,对象就是getitem方法获取的对象
				mLockList.add(appInfo);
				mUnLockList.remove(appInfo);
				// 2.从已加锁数据库中插入一条数据
				mDao.insert(appInfo.packageName);
				// 3.刷新数据适配器
				mUnLockAdapter.notifyDataSetChanged();
			}
		}
	});
我这里举的例子是listview条目增加删除的平移动画效果以及两个数据适配器的刷新和数据库的插入、删除操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值