我有一个带有提示的文本框,但我希望始终显示提示,即使在 TB 中有输入时也是如此。示例是 Gmail 应用程序中的“收件人”字段。
问问题
4240 次
2 回答
2
您可以使用 3 种方法(剧透 - 使用编号 3),因为正如我在评论中提到的,在 Gmail 示例中,这不是实际提示:
在我看来,使用线性布局,看起来更干净:
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:text="@string/Hint" android:layout_margin="5dp" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <EditText android:layout_width="fill_parent" android:inputType="text" android:layout_height="wrap_content"/> </LinearLayout>
使用相对布局,获得模仿 Gmail 应用程序的结果:
注意:可能会有问题,因为文本将显示在提示的顶部,请参阅解决方案 3。
<RelativeLayout android:layout_marginTop="10dp" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:text="@string/Hint" android:paddingLeft="10dp" android:layout_marginBottom="0dp" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <EditText android:layout_width="fill_parent" android:inputType="text" android:layout_height="wrap_content"/>
结果如下图所示:
编辑:
使用 Drawable:
这似乎是一个更好的解决方案(我个人只是通过剪切 TextView 的 1:1 显示来创建它,以这种方式进行正确测量),这将允许更清晰的布局代码,并且文本将知道可绘制对象:
<RelativeLayout android:layout_marginTop="10dp" android:layout_width="fill_parent" android:layout_height="wrap_content" > <EditText android:layout_width="fill_parent" android:inputType="text" android:gravity="top" android:drawableLeft="@drawable/Hint" android:layout_height="wrap_content"/>
于 2013-07-07T23:42:07.360 回答
0
首先想到的就是插入两个editText布局的相对布局。First over second.at the top - 将背景设置为 android.R.color.transparent 使用相对布局的 top 11t!在下面的项目中 - 设置提示(你想要的)并尝试输入文本。可能您将指定顶部的第一个元素的填充以更好地显示。
哦。还有一件事情。也许把editText作为背景背景图片——但对可扩展性不利。
于 2013-07-07T23:16:11.777 回答