AnimationDrawable frameAnim=(AnimationDrawable)mContext.getResources().getDrawable(R.drawable.yellow_red_rent); finalHolder1.cardBg.setBackgroundDrawable(frameAnim); frameAnim.start(); AnimationDrawable frameAnim2=(AnimationDrawable)mContext.getResources().getDrawable(R.drawable.yellow_red_dian); finalHolder1.r_light.setBackgroundDrawable(frameAnim2); frameAnim2.start();
在卡片列表适配器中写了如上代码,发现只有frameAnim2执行了,frameAnim不执行,反正没看到它的动画效果,后来试着在子线程中写:
new Thread(new Runnable() { @Override public void run() { AnimationDrawable frameAnim=(AnimationDrawable)mContext.getResources().getDrawable(R.drawable.yellow_red_rent); finalHolder1.cardBg.setBackgroundDrawable(frameAnim);//若不设置此帧动画xml资源,因拖动实时使用的是图片资源,拖动某卡牌后再点击对应的喜欢/讨厌按钮,会类型转换报错! frameAnim.start(); AnimationDrawable frameAnim2=(AnimationDrawable)mContext.getResources().getDrawable(R.drawable.yellow_red_dian); finalHolder1.r_light.setBackgroundDrawable(frameAnim2);//若不设置此帧动画xml资源,因拖动实时使用的是图片资源,拖动某卡牌后再点击对应的喜欢/讨厌按钮,会类型转换报错! frameAnim2.start(); } }).start();
结果二个帧动画就都执行了,莫名其妙。。。。。。