Android将占位符文本添加到EditText


365

如何在XML中没有的类中添加占位符文本EditText

我的EditText代码中包含以下内容,这些内容将显示在alertdialog中:

    final EditText name = new EditText(this);

1
占位符是什么意思?
LuxuryMode

4
文字是用浅色写在文本栏上的,当用户单击文本栏以写一些东西时,该文本将消失。
莫娜

Answers:


831

喔好吧。您正在寻找的是setHint(int)。只需从xml中传入字符串的资源ID,就可以了。

在此处输入图片说明

编辑

在XML中, android:hint="someText"


6
谢谢!我不知道他们在android中如何称呼它,我只知道在iOS上称为占位符。
莫娜

39
它通常被称为占位符,但是android当然是不同的,只是有所不同;)
Joe Maher 2015年

21

android:hint="text" 为用户提供他需要填写的信息 editText

例如:-我有两个edittext,一个用于数字值,另一个用于字符串值。我们可以为用户设置提示,以便他可以了解他需要赋予的价值

android:hint="Please enter phone number"
android:hint="Enter name" 

运行应用程序后,这两个edittext将显示输入的提示,单击edit文本后,用户可以输入他想要的内容(请参阅Luxurymode图片)


这在android中称为提示。
蒙蒂2012年

11

在您的活动中

<EditText
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="10dp"
                android:background="@null"
                android:hint="Text Example"
                android:padding="5dp"
                android:singleLine="true"
                android:id="@+id/name"
                android:textColor="@color/magenta"/>

在此处输入图片说明


7

这样如何使输入的密码具有未转换为* !!的提示。

在XML上:

android:inputType="textPassword"
android:gravity="center"
android:ellipsize="start"
android:hint="Input Password !."

感谢:mango和rjrjr的见解:D。


5

在Android Studio中,您可以通过GUI添加提示(占位符)。首先在设计器视图上选择EditText字段。然后单击IDE左侧的组件树(通常在其中,但可能已最小化)。在这里,您可以看到所选EditText的属性。找到提示字段,如下图

在此处输入图片说明

在那里您可以将提示(占位符)添加到EditText


3

如果您是指要在布局中添加位置的位置。您可以定义一个类似于FrameLayout的容器,并在创建EditText时将其添加到其中。

<LinearLayout xmlns=".."/>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/container" android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

FrameLayout layout = (FrameLayout) findViewById(R.id.container);
layout.addView(name);

1

您必须使用android:hint属性

<EditText
android:id="@+id/message"
android:hint="<<Your placeholder>>"
/>

在Android Studio中,您可以从XML->设计视图切换,然后单击布局中的Component(在这种情况下为EditText字段)。这将显示该GUI组件的所有适用属性。当您不知道那里的所有属性时,这将很方便。

您会惊讶地发现EditText具有140多个自定义属性。


0

如果要在您的EditText视图中插入文本,并在选择该字段后将其保留在那里(与提示的行为不同),请执行以下操作:

在Java中:

// Cast Your EditText as a TextView
((TextView) findViewById(R.id.email)).setText("your Text")

在科特林:

// Cast your EditText into a TextView
// Like this
(findViewById(R.id.email) as TextView).text = "Your Text"
// Or simply like this
findViewById<TextView>(R.id.email).text = "Your Text"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.