【发布时间】:2017-03-02 09:49:46
【问题描述】:
我的 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>
...
如何在调用 setError() 时删除这个覆盖的红色感叹号?
[更新样式]
<style name="TextAppearance.App.TextInputLayout" parent="@android:style/TextAppearance">
<item name="android:textColor">@color/editTextHintColor</item>
</style>
【问题讨论】:
-
看看这个对你有帮助stackoverflow.com/q/5218691/5773037
-
在
TextInputLayout上调用setError(),而不是EditText。 -
@MikeM。我已经尝试过
TextInputLayout mPasswordL = (TextInputLayout) rootView.findViewById(R.id.text_input_layout_passwd);和mPasswordLsetError(Html.fromHtml("<font color='white'>" + getString(R.string.error_empty_password) + "</font>"));,但它不起作用。 -
@MikeM。抱歉,它确实有效,但它删除了整个框,只留下红线+没有文字。
标签: android android-layout android-edittext android-styles android-textinputlayout