我正在尝试制作一个具有闪烁效果的应用程序,
例如,在两种布局之间来回切换,例如一种是红色的,另一种是蓝色的。
(任何布局都有不同的图像)
当尝试在 2 个活动或 2 个片段之间快速切换时,应用程序崩溃了。
如何以更好的方式以编程方式更改活动布局?
我正在尝试制作一个具有闪烁效果的应用程序,
例如,在两种布局之间来回切换,例如一种是红色的,另一种是蓝色的。
(任何布局都有不同的图像)
当尝试在 2 个活动或 2 个片段之间快速切换时,应用程序崩溃了。
如何以更好的方式以编程方式更改活动布局?
我个人对闪烁的保留意见放在一边,您可以使用计时器仅更改根布局的背景颜色。
您应该只更改 Activity 显示的背景颜色或布局。
考虑效率:
如果您更改布局,android 将不得不膨胀 XML 及其小部件,并且您必须通过查询和布局(即 findViewById)来获取所有这些的句柄。您可以将第一个问题视为刷新网页以更改元素的颜色,而不仅仅是动态呈现。您可以将第二部分视为不缓存 DOM 句柄,并且每次您想在 JavaScript 中提供和操作时都必须重新查询 DOM。两者都是不好的做法。
或者,您可以每隔 X 秒、分钟或任何您想要做的事情更改当前布局的背景。有很多方法可以做到这一点——AlarmManager,或者启动一个超时的线程——或者更好的是,启动一个新的线程,它将一个可运行的线程发布回主线程以更改背景颜色——然后休眠 X 的辅助线程秒并重复循环。
第二个想法不仅是好的做法——而且您正确地使用了 SDK 框架。
祝你好运!