林果皞*_*林果皞 2 android android-layout android-edittext android-styles android-textinputlayout
我的xml代码的密码字段部分:
<android.support.percent.PercentRelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
...
<android.support.design.widget.TextInputLayout
android:layout_below="@+id/uname_ly"
android:id="@+id/text_input_layout_passwd"
app:layout_widthPercent="70%"
android:layout_centerHorizontal="true"
app:layout_heightPercent="10%"
app:layout_marginTopPercent="0%"
app:layout_marginBottomPercent="0%"
android:adjustViewBounds="true"
android:textColorHint="@color/editTextHintColor"
app:hintTextAppearance="@style/TextAppearance.App.TextInputLayout"
>
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/nopasswd"
android:inputType="textPassword"
android:maxLines="1"
android:textColor="@color/editTextTextColor" />
</android.support.design.widget.TextInputLayout>
...
Run Code Online (Sandbox Code Playgroud)
[更新样式]
<style name="TextAppearance.App.TextInputLayout" parent="@android:style/TextAppearance">
<item name="android:textColor">@color/editTextHintColor</item>
</style>
Run Code Online (Sandbox Code Playgroud)
使用setError(CharSequence error, Drawable icon)方法。将设置drawable为null:
editText.setError("Pls provide email", null);
Run Code Online (Sandbox Code Playgroud)
TextInputLayout现在是新材料包的一部分。以下是我如何获得验证有效的密码字段的更新:
布局:
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/loginPasswordInputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/grid"
android:hint="@string/onboarding_hint_password"
app:errorEnabled="true"
app:passwordToggleContentDescription="@string/onboarding_toggle_description_password"
app:passwordToggleEnabled="true"
app:passwordToggleTint="?colorAccent">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/loginPasswordInputText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start|center"
android:inputType="textPassword"
android:lines="1"
tools:text="@string/onboarding_hint_password" />
</com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
设置错误消息并隐藏代码中的图标可以通过以下方式实现:
loginPasswordInputLayout.error = errorMessage
// Error icon overlaps with password visibility toggle, so remove it:
loginPasswordInputLayout.setErrorIconDrawable(0)
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您可以获得红色(或您选择的颜色)文本和下划线,但密码可见性切换图标仍然完全可访问。
| 归档时间: |
|
| 查看次数: |
775 次 |
| 最近记录: |