问题描述
- android控件的抖动效果
-
我知道这种功能很好实现,我在百度上也搜到了源代码,但是我是希望这个控件在打开之后一直处于微小的抖动状态,打个比方就相当于树叶在地上有小风一直吹的那种感觉,我用while循环无限循环抖动的代码,但是程序刚打开就自动关闭了,求大神们给个思路。shake_y.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
shakeAnim = AnimationUtils.loadAnimation(mContext,
R.anim.shake_y);
passWd.startAnimation(shakeAnim);} }); 我把passWd.startAnimation(shakeAnim);这条语句无限循环,程序就会自动关闭。。。
解决方案
我用while循环无限循环抖动的代码,但是程序刚打开就自动关闭了 是因为系统判断你的应用无法正确的应用,所以将它结束了。
动画的效果,需要放在线程中,不能影响主进程。否则,其它操作无法执行,这样就会被系统强制 Kill 掉的。
解决方案二:
不要在主线程无限循环,有可能是ARN错误。
解决方案三:
动画是异步的,等放完了,在监听中再执行
shakeAnim.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
finish();
}
});
解决方案四:
参考:http://blog.csdn.net/actual_/article/details/6943811
解决方案五:
http://download.csdn.net/download/zhuhongleia/4239985
http://blog.sina.com.cn/s/blog_7051b35b010191f9.html
http://www.apkbus.com/android-32277-1-2.html
解决方案六:
UI线程中不能进行长时间的任务处理,用thread + handler吧
时间: 2024-09-24 12:23:09