2.15 用提示代替工具提示
Daniel Fowler
2.15.1 问题
Android设备的屏幕可能很小,没有空间供帮助文本使用,而工具提示不是平台的一部分。
2.15.2 解决方案
Android为View提供了hint属性。
2.15.3 讨论
有时候,输入字段需要对输入值加以说明。例如,一个要求货物数量的库存订货应用可能需要说明最小的订单数量。在桌面程序中,屏幕空间较大并且使用鼠标,附加的信息可以工具提示(鼠标移过字段时弹出的一个标签)形式显示,也可以使用长的描述性标签。而Android设备的屏幕可能很小,通常也不使用鼠标。替代方案是在View上使用android:hint属性,这能够在输入字段为空时显示包含提示文本的“水印”;用户开始输入时这个“水印”将会消失。android:hint对应的函数是setHint(int resourceId)。图2-4展示了提示的使用。
可以用android:textColorHint设置提示的文本,相关的函数为setHintTextColor(int color)。
使用这些提示还有助于空间紧张时的屏幕布局。因为提示为用户提供了必要的线索,就可以删除标签以获得更多空间。此外,有时候可以通过删除标签和使用提示来改进屏幕设计,如图2-5所示。
图2-5中的EditText控件定义如下,你可以看到android:hint的用法:
<EditText android:id="@+id/etQuantity"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Number of boxes of ten"
android:textSize="18sp"/>
提示能够在用户填写应用字段时进行引导,但是和其他任何功能一样,提示也可能被过度使用。当必要的条件很明显时不应该使用提示;例如,带有标签“First Name”(姓氏)的字段没有必要使用诸如“Enter your first name here”(在这里输入你的姓氏)的提示。图2-5展示了删除多余标签之后改进的库存订货应用程序。