我正在尝试制作具有闪烁效果的应用程序,
e.g。在两个布局之间来回切换,一个是红色,另一个是蓝色。
(任何布局都有不同的图像)
当尝试在2个活动或2个片段之间快速切换时,应用程序崩溃。
如何以更好的方式以编程方式更改活动布局?
答案 0 :(得分:2)
我的个人预订不要眨眼,您可以使用计时器更改根布局的背景颜色。
答案 1 :(得分:1)
您应该只更改活动显示的背景颜色或布局。
考虑效率:
如果更改布局,android必须对XML及其小部件进行扩充,并且必须通过查询和布局(即findViewById)获取所有这些内容的句柄。您可以将此问题视为刷新网页以更改元素的颜色而不是仅动态渲染的第一个问题。您可以将第二部分视为不缓存DOM句柄,并且每次要在JavaScript中提供和操作时都必须重新查询DOM。两者都是不好的做法。
或者,您可以每X秒,分钟或任何您想要做的事情更改当前布局的背景。有很多方法可以做到这一点 - AlarmManager,或者启动一个超时的线程 - 或者更好的是,启动一个新线程,将一个runnable发布回主线程以更改背景颜色 - 然后为X调试辅助线程秒,然后重复循环。
第二个想法不仅是良好实践 - 而且您正确使用SDK框架。
祝你好运!