EditText的错误消息显示,可以在EditText的下方弹出一个Popupwindow,有很好的用户体验,
先看一下效果图:
下面我们为大家介绍一下有三种方式设置:
MainActivity中:
package com.example.mac.seterrordemo;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.Html;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private EditText editText;
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.et);
button = (Button) findViewById(R.id.btn);
button.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn:
if (editText.getText().toString().equals("")) {
//1.设置自定义文字
editText.setError("输入框不能为空");
//2.设置自定义文字和图标
Drawable d = getResources().getDrawable(R.drawable.baby);
d.setBounds(0, 0, 100, 100); //必须设置大小,否则不显示
editText.setError("有错误提示", d);
//3.设置文字及颜色
editText.setError(Html.fromHtml("<font color=#00ffff>字体颜色设置</font>"));
}
break;
}
}
}
MainActivity的布局文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.mac.seterrordemo.MainActivity">
<EditText
android:id="@+id/et"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/et"
android:text="按钮" />
</RelativeLayout>
本人菜鸟一个,有什么不对的地方希望大家指出评论,大神勿喷,希望大家一起学习进步!