0

我正在使用 MvvmCross v3,我对 Android 中的列表有一点问题。

我实际上有一个运行良好的 Mvx.MvxListView,但我正在使用平板电脑,而 ListView 有点不合适。所以我想在 XAML 中有一个像 WrapPannel 这样的控件来连续拥有多个项目。

我怎么能有这种控制?

谢谢

4

1 回答 1

1

这里有两个挑战:

1.找到或制作你想要的控件

第一个真正取决于您和您的用户体验/设计团队 - 尽管人们可能会建议可能有帮助的应用程序和项目。选择控件时,请务必小心了解它的内存使用情况——尤其是:

  • 是否虚拟化 UI 重用单元格(就像列表一样)
  • 或者它是否为每个项目创建一个单元格,即使项目不可见(就像 SL WrapPanel 一样?)

2.为其添加数据绑定

这第二步通常非常简单 - 看看其中一个 Mvx 布局控件,看看它是如何转换为数据绑定的 - 例如https://github.com/slodge/MvvmCross/blob/v3/Cirrious/Cirrious。 MvvmCross.Binding.Droid/Views/MvxLinearLayout.cs

您通常可以将此代码剪切并粘贴到您的新类型中。

有关对现有类型进行子类化的更多信息,另请参阅视频系列中的 N=18 - http://slodge.blogspot.co.uk/2013/05/n18-android-custom-controls-n1-days-of.html - 这个显示 a 的子类化TextView


对于 wrappanel,我之前确实调整并使用了 @CheeseBaron 的端口之一 - FlowLayout - 请参阅http://slodge.blogspot.co.uk/2013/01/an-mono-for-android-wrappanelflowlayout.html。但是,这尚未针对 v3 进行更新 - 如果您确实更新了它,那么如果您将结果分享回来会很棒。

于 2013-06-11T09:49:49.220 回答