我有一个带提示的文本框,但我希望始终显示提示,即使TB中有输入也是如此。示例是Gmail应用中的“收件人”字段。
答案 0 :(得分: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"/>
答案 1 :(得分:0)
首先想到的是插入两个editText布局相对布局。 在第一个超过第二个。在顶部 - 把背景作为 android.R.color.transparent 与相对布局的前十名一起工作!在下面的项目 - 设置提示(您想要)并尝试放置文本。可能你会指定top的第一个元素的填充来增加显示。
喔。还有一件事。 也许放到editText背景背景图像 - 但是可扩展性不好。