<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
app:errorTextAppearance="@style/ErrorText">
<EditText
android:id="@+id/input_name"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:background="@drawable/edittext_selector"
android:hint="@string/hint_name"
android:imeOptions="actionNext"
android:inputType="textEmailAddress" />
</android.support.design.widget.TextInputLayout>
if (inputName.getText().toString().trim().isEmpty()) {
inputLayoutName.setErrorEnabled(true);
inputLayoutName.setError("Errorrroror");
inputName.setBackgroundResource(R.drawable.edittext_red_focused);
requestFocus(inputName);
return false;
} else {
inputName.setBackgroundResource(R.drawable.edittext_selector);
inputLayoutName.setErrorEnabled(false);
}
return true;
下面是错误的资源文件
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<solid android:color="@color/sale_color" />
</shape>
</item>
<!-- main color -->
<item
android:bottom="1.0dp"
android:left="1.0dp"
android:right="1.0dp">
<shape>
<solid android:color="@android:color/white" />
</shape>
</item>
<!-- draw another block to cut-off the left and right bars -->
<item android:bottom="1.0dp">
<shape>
<solid android:color="@android:color/white" />
</shape>
</item>
</layer-list>
您可以使用自定义Edittext背景来实现这一点。
创建可绘制的选择器,如下所示,
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent" />
</shape>
</item>
<item
android:left="-2dp"
android:right="-2dp"
android:top="-2dp">
<shape>
<solid android:color="@android:color/transparent" />
<stroke
android:width="1dp"
android:color="@color/edit_text_normal_color" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent" />
</shape>
</item>
<item
android:left="-2dp"
android:right="-2dp"
android:top="-2dp">
<shape>
<solid android:color="@android:color/transparent" />
<stroke
android:width="1dp"
android:color="@color/colorPrimary" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent" />
</shape>
</item>
<item
android:left="-2dp"
android:right="-2dp"
android:top="-2dp">
<shape>
<solid android:color="@android:color/transparent" />
<stroke
android:width="1dp"
android:color="@color/sale_color" />
</shape>
</item>
并在运行时,当错误发生时,设置错误可提取
验证代码
private boolean validateName() {
if (inputName.getText().toString().trim().isEmpty()) {
inputLayoutName.setErrorEnabled(true);
inputLayoutName.setError("Error");
inputName.setBackgroundResource(R.drawable.edittext_red_focused);
return false;
} else {
inputName.setBackgroundResource(R.drawable.edittext_selector);
inputLayoutName.setErrorEnabled(false);
}
return true;
}
我第一次使用新的Android小部件TextInputLayout,它非常好,但我在使用setError方法时遇到了一些问题 这是我的xml 正在发生的事情: 在之后 我做了很多研究,但没有找到任何有用的东西,问题到底是什么?? 更新 我快疯了!!!
我遇到过这个奇怪的问题,在开始时,字段的颜色更改为,就像在出现时一样。而且,这种情况并不是每次都发生,只是在某些情况下才会出现。如何修复此bug?任何帮助都很感激。请参阅图片更多。这是代码 以下是样式:
我希望有一个EditText,背景是一个“普通”EditText,但有一个TextInputEditText的错误处理(错误消息出现在底部,而不是“!”可绘图的出现)。 我有这样的东西: 但是,当我在TextInputLayout上设置error时,它会将背景drawable(在普通的TextInputEditText中是下划线)更改为error TextView的颜色。 一种解决方案可能是在调用
问题简短版: 我想让我的CardView和RecyclView背景透明,所以片段/活动背景应该是可见的。 解释: 我有一个带有背景图像的活动A,片段B在其框架布局上被替换,在片段B中我有recyclerView,现在有了CardView,问题是我想让每个背景都透明,这样只有CardView才能在活动的实际背景下可见 活动(A) 片段(B)RecyclerView CardView/项目布局 提问原
我有一个EditText-Field,并为它设置了一个OnFocusChangeListener。当它失去焦点时,将调用一个方法,该方法用数据库中的EditText检查EditText的值。如果方法的return-value为true,则显示一个toast并且焦点应该再次回到EditText上。焦点应该总是回到EditText上,键盘应该显示,直到方法的return-value为false。 ed
问题内容: 我有一个Swing JButton,我的项目也使用了以下代码: 现在,当尝试使用一个按钮更改背景时,它不会变成红色,只有边框变成红色。 在仍用于其余组件/项目时,如何将背景变为红色? 问题答案: 看一下错误4880747:XP L&F:REGRESSION:JButton上的setBackground设置Windows XP中的边框颜色 。评估部分指出: 更改按钮的外观总是会导致与当前