1.IPEditText样式:
<attr name= "textLength" format= "integer" />
<attr name= "IPtextSize" format= "dimension" />
<attr name= "IPtextColor" format= "color" />
<attr name= "borderColor" format= "color" />
<attr name= "borderWidth" format= "dimension" />
<attr name= "pointColor" format= "color" />
<attr name= "pointWidth" format= "dimension" />
<attr name= "editNumber" format= "integer" />
</declare-styleable>
2.IPEditText实现类:
public class IPEditText extends LinearLayout implements TextWatcher {
private static final String TAG = "IPEditText";
private int width;
private int height;
private Paint paint;
private static final int DEFAULT_TEXT_MAX_LENGTH = 3;
private static final int DEFAULT_TEXT_SIZE = 16;
private static final int DEFAULT_TEXT_COLOR = Color.BLACK;
private static final int DEFAULT_BORDER_COLOR = Color.argb(60,0,0,0);
private static final int DEFAULT_BORDER_WIDTH = 2;
private static final int DEFAULT_POINT_COLOR = Color.BLACK;
private static final int DEFAULT_POINT_WIDTH = 2;
private static final int DEFAULT_IP_EDITTEXT_LENGTH = 4;
private int textLength;
private int textSize;
private int textColor;
private int borderColor;
private int borderWidth;
private int pointColor;
private int pointWidth;
private int editNumber;
private int default_height = px2dp(20);
private int default_width = px2dp(60);
private List<EditText> data = new ArrayList<>();
public IPEditText(Context context) {
this(context, null)