我是Android开发的新手。单击应用程序栏上的菜单图标时,我正在执行AsyncTask。但是,在AsyncTask完成之前,该图标永远不会显示它已被按下。因此,尽管网络任务可能需要花费几秒钟的时间,但对于用户来说,按钮似乎什么也没做。
是否有一种方法可以强制UI在执行任务之前显示图标按下动画?我设置的祝酒也要到AsyncTask之后才能执行。预先感谢。
编辑:我最终使用了执行延迟的处理程序,如达斯坦(Dastan)在下面的注释中所建议的:
its not recommended but if still its not solving may be you can add delay Handler().postDelayed(asyncTask,400);
//400ms animation time – dastan Feb 13 at 2:06
这允许UI更新。但是,我想找到一个更有效的解决方案。
答案 0 :(得分:0)
您好,欢迎来到android开发。 第一种解决方案:将此库用于按钮https://github.com/medyo/Fancybuttons
第二个解决方案:不要在UI线程中运行,因为它将停止绘制UI。
第三个解决方案:使用功能强大的RX库,您无需等待进程完成。
我的建议是使用有效且易于维护的第三种解决方案。