这是一个非常奇怪的问题,这是我的代码:
curses.h
我正在使用TextInputLayout进行登录,这是我的java代码:
pass_l.setErrorEnabled(真); pass_l.setError(的getString(R.string.wrong_pass));
当它显示错误时,编辑文本的背景变为红色,并且它没有显示下面的错误,有些事情是这样的:
我该如何解决这个问题?我不希望编辑文本更改背景颜色,只是像往常一样在editext下面显示错误
答案 0 :(得分:1)
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_pass"
android:layout_width="match_parent"
android:layout_height="37dp"
android:layout_marginTop="10dp"
android:layoutDirection="rtl"
android:theme="@style/TextLabel"
android:src="@drawable/ic_https_grey600_18dp"
app:hintEnabled="false"
app:passwordToggleEnabled="true">
<EditText
android:id="@+id/password"
style="@style/edittexts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_https_grey600_18dp"
android:drawableStart="@drawable/ic_https_grey600_18dp"
android:hint="رمز عبور"
android:gravity="right|center_vertical"
android:imeOptions="actionDone"
android:inputType="textPassword"
android:transformPivotX="10dp"
app:passwordToggleEnabled="true" />
</android.support.design.widget.TextInputLayout>
<style name="TextLabel" parent="TextAppearance.AppCompat">
<!-- Hint color and label color in FALSE state -->
<item name="android:textColorHint">@color/Color Name</item>
<item name="android:textSize">20sp</item>
<!-- Label color in TRUE state and bar color FALSE and TRUE State -->
<item name="colorAccent">@color/Color Name</item>
<item name="colorControlNormal">@color/Color Name</item>
<item name="colorControlActivated">@color/Color Name</item>
</style>
你可以这样试试。
答案 1 :(得分:0)
问题在于你的风格=“@ style / edittexts”。请分享它的源代码。它必须以这种风格设置为红色。
答案 2 :(得分:0)
你可以在textInputLayoutTag中使用它:
app:errorEnabled="true"
app:errorTextAppearance="@style/ErrorAppearance"
示例:
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_pass"
android:layout_width="match_parent"
android:layout_height="37dp"
android:layout_marginTop="10dp"
android:layoutDirection="rtl"
android:src="@drawable/ic_https_grey600_18dp"
app:hintEnabled="false"
app:passwordToggleEnabled="true"
app:errorEnabled="true"
app:errorTextAppearance="@style/ErrorAppearance">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/password"
style="@style/FormStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_https_grey600_18dp"
android:drawableStart="@drawable/ic_https_grey600_18dp"
android:hint="رمز عبور"
android:gravity="right|center_vertical"
android:imeOptions="actionDone"
android:inputType="textPassword"
android:transformPivotX="10dp"
app:passwordToggleEnabled="true" />
</android.support.design.widget.TextInputLayout>
在styles.xml中添加ErrorAppearance和FormStyle
<style name="ErrorAppearance" parent="@android:style/TextAppearance">
<item name="android:textColor">@color/textError</item>
<item name="android:textSize">@dimen/font_small</item>
</style>
<style name="FormStyle">
<item name="android:maxLines">1</item>
<item name="android:drawablePadding">@dimen/spacing_small</item>
<item name="android:textColor">@color/textHint</item>
</style>
在活动验证后,您可以:
pass_l.setError(getString(R.string.wrong_pass));