为常见数据类型构建UI的View或Fragment库

8

问题

我需要让用户输入电子邮件,选择日期,编辑网页,选择图片等 - 有许多常见的演示任务不被Android SDK小部件库直接覆盖,因此我认为可能有一个专用的存储库或框架可用于此类UI问题。

[ 虽然Android提供了可以转换为特定编辑器的小部件,例如电子邮件,但这里的问题是寻找一个现成组件的库,专门针对这些常见的数据类型,即专门面向呈现此类数据的UI元素,开箱即用,并提供验证。 ]

现有信息源?

因此,我使用Androidwidgetlibraryviewtoolkitfragmentrepository等术语进行了网络搜索,但只得到了误报结果。

您能否向我提供任何提供实现常见数据特定输入/编辑/配置元素的类/ XML布局列表的集体努力

因此,我可以在ActivityA1,ActivityA3,ActivityB1,ActivityN9中执行以下操作:

  • 新电子邮件EditText()
  • 新UrlTextView()
  • new IPView() ...

将数据匹配到视图?

我真正想要的是一组小部件,根据需要呈现的数据进行解析,可能类似于隐式意图分辨率

因此,从我的领域模型中,我将提供一些具有特定数据类型的数据,这些数据应以某种适当的方式显示。但是,我没有明确设置哪个View将呈现此数据,而是在过滤可用的特定目的视图列表并选择最适合给定数据类型的视图之间有一个匹配器。

已经有类似的东西了吗?

2个回答

3
很抱歉,Android没有你想要的功能,但不用担心-肯定有一些东西可以让你的生活更轻松。例如,您可以在EditText上设置inputType来更改键盘的外观(例如,对于电子邮件,您有“@”和“.com”按钮,对于电话号码,您有数字),并使用InputFilter来控制数据输入。您甚至可以使用EditText.setTransformationMethod()更改数据呈现方式(例如,在电话号码中添加空格)。如果您想选择图像,可以发送意图请求:http://android-er.blogspot.se/2011/02/select-image-using-android-build-in.html通过组合这些方法,构建自己的小部件集应该不会太难。

更新:现在有一个库可用,可以使表单验证更加容易:https://github.com/vekexasia/android-form-edittext


虽然Android提供了许多几乎成品的UI元素,但我觉得我们仍在浪费集体努力来重新发明轮子。我知道你提到的自定义,但为什么不将它们作为常见UI任务的现成包提供,并添加适当的验证(例如新的EmailEditText()),而不是每个人都要重新实现自己的UI。此外,还有其他小部件,例如输入IP地址,这些小部件非常常见,但Android没有提供...由于缺乏任何库链接,我感觉我不得不走同样的路线:(希望最后死去。 - Cel
我发现通常使用这些自定义功能来实现你想要的东西非常简单。Android被设计为易于扩展,因此大多数情况下,您甚至不需要子类化小部件即可完成所需操作。 - Marcus Forsell Stahre

1

有一个日期滑块组件可用于实现混合日期时间输入元素。

但是根据我的经验,目前Android开发工具ADT(至少版本17,但可能直到版本19)无法正确处理带有资源的jar文件。您必须将库源代码包含在内以构建具有小部件的项目。


我一直在使用许多链接库中包含的布局、可绘制和值,但不知道这可能无法关闭!虽然这为任何开源努力留下了空间...感谢提供dateslider链接。 - Cel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接