使用自定义视图构建时间轴

Rom*_*ain 5 android android-layout

我正在构建一个带有定时事件的Android应用程序,我不确定应该使用什么布局来构建我的时间轴.

事件可以有不同的高度,当用户点击它们但它们具有相同的宽度时可以增长;

              .
              .
              .
------------- |
| Event 4   > | --------------
------------- | < Event 7    |
              | |            |
              | --------------
              .
              .
              .
Run Code Online (Sandbox Code Playgroud)

我有两种视图类型:

  • EventView 女巫持有事件信息并卓尔他的大纲
  • TimeBarView 巫婆是中间的酒吧(有一些属性,并在很长的跨度上延伸

我如何放置我的物品,以便尊重我的时间线上的时间(例如1周可能是10px)

任何帮助表示赞赏.谢谢 !

Avi*_*ron 1

我现在正在解决同样的问题。

我还没有完整的解决方案,但我有一个想法:

因为你必须站在时间线的一边,所以ListView这是不合适的,因为事件可能会重叠。

相反,请考虑使用 2 列GridView。我建议使用AndroidStaggeredGrid,它支持不同的项目大小。

对于在中间运行的实际“时间栏”,我将简单地使用一条窄线作为 GridView 的背景。

时间线上不会有任何标记。相反,标记将位于 EventView 本身上,无论是在左侧还是在右侧,以便标记恰好落在时间栏上。

这样,当您滚动网格时,就会产生时间栏本身正在滚动的错觉。

要表示空时间间隔,只需添加一个空视图,其高度与其表示的间隔成正比。

希望能帮助到你...