与提示一起在EditText下面显示帮助文本

我正在尝试在这些方面做些事情:

EditText示例

我能够使用android:hint="Email Address"显示android:hint="Email Address"但无法显示帮助文本 – 这将是您的电子邮件用户名

  <android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/et_username" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="15" android:hint="Username" app:et_helper="Username is preferably your registered email"/> </android.support.design.widget.TextInputLayout>` 

我得到的是只有和没有用户名最好是您的注册电子邮件下面edittext:

输出:

产量

任何指针赞赏。 谢谢。

Solutions Collecting From Web of "与提示一起在EditText下面显示帮助文本"

最好的方法是使用TextInputLayout 。 Google将其引入新的devise库中。 为了使用TextInputLayout,您必须将以下内容添加到您的build.gradle相关性中:

 compile 'com.android.support:design:22.2.0' 

然后在你的xml文件中使用它:

 <android.support.design.widget.TextInputLayout android:id="@+id/textInputLayout" android:layout_width="wrap_content" android:layout_height="wrap_content"> <EditText android:id="@+id/editText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="Enter your name"/> </android.support.design.widget.TextInputLayout> 

您可以通过设置错误true来设置您的文本。 尽pipe它是为了显示错误,但它适合您的使用。 如果需要,您可以更改颜色和字体。

 TextInputLayout til = (TextInputLayout) findViewById(R.id.textInputLayout); til.setErrorEnabled(true); til.setError("You need to enter a name"); 

在这里输入图像说明

帮助者文本不是由TextInputLayout提供的。 不过,下面的文章有一个工作的例子。 它使用一个从TextInputLayout扩展的类,通过将HelperText作为另一个指示器添加到类中,与ErrorText一起工作。

https://medium.com/@elye.project/material-login-with-helper-text-232472400c15#.vm28p662v

所以你想要的是这样的:

帮手文本

你可以通过使用这个库来实现这个function:

https://github.com/rengwuxian/MaterialEditText

您可以设置“帮助文本”属性以显示该行下方的文本,并使用“提示”来显示该行上方的文本。 以下是附图的样本布局

 <com.rengwuxian.materialedittext.MaterialEditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Password" android:inputType="textPassword" app:met_floatingLabel="normal" app:met_helperText="Must contain at least 8 characters" app:met_helperTextAlwaysShown="true"/> 

我在这里也有类似的问题。 如果你想保持两个EditText视图一起在LinearLayout中垂直closures,我认为没有办法。 一种方式,我认为,你可以将android:顶端EditText的重力设置为“底部”和“顶部”到较低的EditText。 但在RelativeLayout中,这应该很容易。

如果你想在用户input时显示提示文本(在EdiText的顶部),可以使用TextInputLayout。 通常设置提示EditText不会这样工作。 提示文字将通过触摸来聚焦后消失。