我正在学习 Android 的 swipeRefreshLayout 组件。它有一个 setColorSchemeResources() 方法来改变加载轮的颜色。在 MVVM (kotlin) 项目中在哪个类中使用此方法?直接在视图中规定这个方法还是在viewModel中设置颜色,然后莫名其妙的上报给视图?
我正在学习 Android 的 swipeRefreshLayout 组件。它有一个 setColorSchemeResources() 方法来改变加载轮的颜色。在 MVVM (kotlin) 项目中在哪个类中使用此方法?直接在视图中规定这个方法还是在viewModel中设置颜色,然后莫名其妙的上报给视图?
ViewModel 更多的是关于存储需要在 View 的整个生命周期中存在的数据。
颜色或一些基本设置是视图本身的任务。
但!进一步离题......
谁禁止你创建将用于基本视图设置的类并在那里取出垃圾?
让我解释...
我有自定义导航按钮,可以根据我所在的 Fragment 更改颜色。
除了从导航按钮之外,这些片段可以通过另一种方式到达。
目标:编写一个片段监听器。并取决于现在是哪个片段 - 所有导航按钮都指向基本状态。当前片段的按钮 - 突出显示。
整个代码需要 80 行。这就是视图的工作。但所有这 80 行都是一大逻辑块。我创建了一个单独的类,我在其中描述了所有这些逻辑,并将其连接到 Activity 在一行中。
并且它不会在项目的其他任何地方使用,也不会!只在一个地方。
但在视觉上看起来很清楚:
为什么这个文本?事实上,MVVM / MVC / MVP 架构首先是关于如何更好地处理数据结构的建议(!) 。
您问的是视图问题,不适用于架构。
但是,如果您遇到大型但逻辑上常见的自定义块,则不应将它们存储在视图中。