Android动画原理

Android动画原理:

其实在Android中,播放动画的操作实质上是在子线程做的,需要耗用一定的时间,比如当我们想播放动画完毕之后做一个更新UI的处理,如果我们不开子线程而直接写程序时,我们播放动画时就会出现各种各样的问题。


正确的做法是,在播放动画时候我们开启一个子线程,让这个子线程睡眠一段时间,然后通过发消息的机制再更新UI,这样就不回出现问题了。



示例代码:


Animation aa = AnimationUtils.loadAnimation(
getApplicationContext(), R.anim.trans_remove);
view.startAnimation(aa);
new Thread() {
public void run() {
try {
Thread.sleep(300);
runOnUiThread(new Runnable() {
public void run() {
AppInfo appinfo = lockedAppInfos
.get(position);
// 已加锁 移除
lockedAppInfos.remove(appinfo);
// =数据库移除
dao.delete(appinfo.getPackName());
// 未加锁添加
unlockAppInfos.add(appinfo);
unlockAdapter.notifyDataSetChanged();
lockedAdapter.notifyDataSetChanged();
}
});
} catch (InterruptedException e) {
e.printStackTrace();
}
};
}.start();

你可能感兴趣的:(Android)