我想要一些关于设计符合UI(马鞍、马镫和缰绳)和UX(整体乘坐)的布局的指导。(请参见此处
horse ride analogy
).
我希望用户通过键入前几个字符来选择他们的位置。假设这些地点都是所有国家的首都。一个学派可能会建议对要选择的地点采取向下钻取的方法。例如,从地理位置(美国、洛杉矶、EMEA、亚太地区等)开始,然后从该地理位置中选择一个国家。
另一个建议是将所有首都城市加载到一个数组中,并将其输入自动完成视图。
就个人而言,从用户体验的角度来看,我更喜欢后者。想要输入其位置的人
已经知道要选择什么
。他/她不需要导航。另一方面,考虑您的纳税申报程序。围绕收入、储蓄或免税性质的引导导航可以产生真正令人满意的用户体验,因为用户不会事先知道需要选择什么税码或免税码等。
与我的偏好相反的是从UI的角度来看。数组的大小(馈送到自动完成视图)越大,“下拉列表”的大小就越大,因为前几个字符会匹配太多。这会伤害用户体验。我确实看到了显示最大行数的选项-
android:maxLines
。请参见下面的示例。
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText1"
android:layout_alignRight="@+id/editText1"
android:layout_alignTop="@+id/imageView2"
android:ems="10"
android:inputType="textAutoComplete"
android:maxLines="5"
android:text="AutoCompleteTextView" />
是否可以使用此选项,以便在自动完成视图中键入文本时不会占用布局?
另一个反作用点(也是从UI角度)是性能。如果字符串数组包含大约10000+个条目,那么应用程序会进入ANR吗?可以遵循什么规则来确定数组项的上限?