我正在创建自定义视图 我有一个问题 我的观点必须定期更改,例如更改背景或其他内容 这里的一个问题是,可以仅使用延迟任务,定时器和线程来实现周期性变化事件,或者可能还有另一种方法可以做到这一点,也许平台已经以更好的方式实现了。
我的问题的另一部分我应该在哪里放置更新逻辑?
如果没有定期更改的默认实现,我必须实现我自己的Timer, ScheduledTaks
或其他东西(在这种情况下它并不重要)。我有几个想法,我可以把这个
将其直接放入自定义视图中,并使用户能够使用属性和视图方法从外部控制行为。
也可以将其放入视图中,但可以让用户设置自定义实现,例如创建和界面PeriodicalBackgroundChanger
和方法setBackgroundChanger(...)
,并让用户提供自己的实现
或者在View
内没有做任何事情,但是把所有这些东西放在外面,只是调用自定义视图的方法,如setBackground
在所有设计模式和“清洁代码”约定之后实现此最正确和最正确的方法是什么。
我会感激任何人。
提前谢谢。修改
使问题更清楚。
我需要简单AutoSrollViewpager
。我知道已完成此类View的实现,但它们不符合我的需求。
如果我在视图内或视图上直接执行动画,我很难说
ViewPager
里面有一些页面实现,所以我只需要定期更改它们。但另一方面ViewPager
只是页面的组合,所以这个问题有点抽象