0

我正在尝试制作一个具有闪烁效果的应用程序,

例如,在两种布局之间来回切换,例如一种是红色的,另一种是蓝色的。

(任何布局都有不同的图像)

当尝试在 2 个活动或 2 个片段之间快速切换时,应用程序崩溃了。

如何以更好的方式以编程方式更改活动布局?

4

2 回答 2

2

我个人对闪烁的保留意见放在一边,您可以使用计时器仅更改根布局的背景颜色。

于 2012-04-21T19:26:09.740 回答
1

您应该只更改 Activity 显示的背景颜色或布局。

考虑效率:

  • 如果您更改布局,android 将不得不膨胀 XML 及其小部件,并且您必须通过查询和布局(即 findViewById)来获取所有这些的句柄。您可以将第一个问题视为刷新网页以更改元素的颜色,而不仅仅是动态呈现。您可以将第二部分视为不缓存 DOM 句柄,并且每次您想在 JavaScript 中提供和操作时都必须重新查询 DOM。两者都是不好的做法。

  • 或者,您可以每隔 X 秒、分钟或任何您想要做的事情更改当前布局的背景。有很多方法可以做到这一点——AlarmManager,或者启动一个超时的线程——或者更好的是,启动一个新的线程,它将一个可运行的线程发布回主线程以更改背景颜色——然后休眠 X 的辅助线程秒并重复循环。

第二个想法不仅是好的做法——而且您正确地使用了 SDK 框架。

祝你好运!

于 2012-04-21T20:17:56.283 回答