【问题标题】:Android add placeholder text to EditTextAndroid将占位符文本添加到EditText
【发布时间】:2012-01-03 11:57:55
【问题描述】:

如何在不在 XML 中的类中将 placeholder 文本添加到 EditText

我的代码中有以下EditText,它将显示在警报对话框中:

    final EditText name = new EditText(this);

【问题讨论】:

  • 占位符是什么意思?
  • 在文本栏上用浅色书写的文本,当用户点击文本栏写东西时,文本会消失。

标签: android placeholder


【解决方案1】:

啊,好的。你要找的是setHint(int)。只需从您的 xml 中传入一个字符串的资源 ID,您就可以开始了。

编辑

在 XML 中,它只是 android:hint="someText"

【讨论】:

  • 谢谢!我不知道他们在 android 中叫什么,我只知道在 iOS 上它被称为占位符。
  • 它普遍被称为占位符,但当然 android 不同只是为了不同;)
【解决方案2】:

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

例如:- 我有两个编辑文本,一个用于数值,另一个用于字符串值。我们可以为用户设置一个提示,这样他就可以理解他需要给出什么价值

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

运行应用程序后,这两个编辑文本将显示输入的提示,点击编辑文本后,用户可以输入他想要的内容(参见豪华模式图片)

【讨论】:

  • 这在android中称为提示。
【解决方案3】:

在您的活动中

<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"/>

【讨论】:

    【解决方案4】:

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

    关于 XML:

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

    感谢:mango 和 rjrjr 的洞察力:D。

    【讨论】:

      【解决方案5】:

      在 Android Studio 中,您可以通过 GUI 添加提示(占位符)。首先在设计器视图中选择 EditText 字段。然后点击组件树左侧IDE(通常它在那里,但它可能被最小化)在那里你可以看到所选EditText的Properties。查找 Hint 字段,如下图所示

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

      【讨论】:

        【解决方案6】:

        你必须使用 android:hint 属性

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

        在 Android Studio 中,您可以从 XML -> Design View 切换并单击布局中的 Component,在本例中为 EditText 字段。 这将显示该 GUI 组件的所有适用属性。 当您不了解所有属性时,这会很方便。

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

        【讨论】:

          【解决方案7】:

          如果您的意思是您将在布局中添加它的位置。 您可以定义一个像 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);
          

          【讨论】:

            【解决方案8】:

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

            在 Java 中:

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

            在 Kotlin 中:

            // 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"
            

            【讨论】:

              猜你喜欢
              • 2014-11-24
              • 1970-01-01
              • 2014-01-08
              • 2018-11-27
              • 2013-01-18
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-10-23
              相关资源
              最近更新 更多