【问题标题】:GWT using Activities and Places when screen layout changes per place当每个位置的屏幕布局发生变化时,GWT 使用活动和位置
【发布时间】:2017-09-04 01:48:54
【问题描述】:

我对 GWT 的活动和地点的理解是,对于屏幕上的给定区域,您有一个 ActivityManager 和一个 ActivityMapper。您可以在屏幕上拥有多个区域,这意味着您可以拥有多个 ActivityManagersActivityMappers(每个区域一个)。因此,每当有PlaceChange 时,ActivityManagers 就询问他们各自的ActivityMapper 在给定Place 的情况下应该显示什么活动。只要您的Places 都有一个共同的布局,它们以不同的方式重用以执行不同的活动,这就很有效。我的问题是我们如何处理不同的Places 使用完全不同的布局的情况?我的第一个想法是拥有更多的ActivityManagersActivityMappers,如果Place 不使用特定区域,那么当我们更改为@987654337 时,该区域的ActivityMapper 将简单地返回null @。如果有更好的方法,我将不胜感激。

【问题讨论】:

标签: gwt gwt-activities gwt-places


【解决方案1】:

我发现将单个 ActivityMapper/ActivityManager 对用于整个应用程序会更容易。

在典型情况下,您有一个“菜单”区域和一个“主”区域。菜单区域非常基本:单击菜单项会将用户带到一个新位置。它还会突出显示新选择的项目并重置先前选择的项目的样式。所有这些都可以在一个简单的小部件中轻松完成,您可以将其包含在需要此菜单的所有视图中。为菜单区域设置单独的 ActivityMapper 和 ActivityManager 只会使一切复杂化,而不会带来任何好处。

我对“顶部菜单”区域和“左侧菜单/树”区域使用相同的方法:一个小部件告诉演示者在“主”区域中显示哪些数据。

我的应用中有 50 多个不同的地方,拥有一个简单的架构真的很有帮助:每个地方对应一个视图和一个活动。

【讨论】:

  • 您是否强调避免在一个地方使用多个活动,以便您可以使用该结构,或者您是否有某种方式在使用单个 ActivityManager/ActivityMapper 时仍支持多个活动?
  • 我避免使用多项活动。我从来没有遇到过这样的 UI 设计,其中两个区域同时涉及一种复杂且独立的行为,保证每个区域都有专门的活动。我想这样的设计是可能的,但我相信为菜单或树创建专门的活动会产生更多它解决的问题。
猜你喜欢
  • 1970-01-01
  • 2016-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-26
  • 2017-10-22
  • 2013-11-05
相关资源
最近更新 更多