Skip to content

Commit 1459d4b

Browse files
author
1101005304@qq.com
committed
add attr edit_maxLength
1 parent 5e687c9 commit 1459d4b

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

app/src/main/java/com/android/view/TextGroupView.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import android.graphics.drawable.GradientDrawable;
99
import android.os.Build;
1010
import android.support.annotation.Nullable;
11+
import android.text.InputFilter;
1112
import android.text.TextUtils;
1213
import android.text.method.DigitsKeyListener;
1314
import android.util.AttributeSet;
@@ -142,6 +143,7 @@ public class TextGroupView extends LinearLayout {
142143
private int editBackground;
143144
private boolean editSingleLine;
144145
private int editMaxLines;
146+
private int editMaxLength;
145147
private String editDigits;
146148
private int editEllipsize;
147149
private int editInputType;
@@ -350,11 +352,12 @@ private void initAttrs(Context context, AttributeSet attrs) {
350352
//右边输入
351353
editWidth = typedArray.getLayoutDimension(R.styleable.TextGroupView_edit_width, LayoutParams.WRAP_CONTENT);
352354
editHeight = typedArray.getLayoutDimension(R.styleable.TextGroupView_edit_height, LayoutParams.WRAP_CONTENT);
353-
editHintTextColor = typedArray.getColor(R.styleable.TextGroupView_edit_hintTextColor, 0);
355+
editHintTextColor = typedArray.getColor(R.styleable.TextGroupView_edit_hintTextColor, Color.parseColor("#B9B9B9"));
354356
editFocusable = typedArray.getBoolean(R.styleable.TextGroupView_edit_focusable, true);
355357
editHintText = typedArray.getString(R.styleable.TextGroupView_edit_hintText);
356358
editBackground = typedArray.getResourceId(R.styleable.TextGroupView_edit_background, 0);
357359
editMaxLines = typedArray.getInt(R.styleable.TextGroupView_edit_maxLines, 0);
360+
editMaxLength = typedArray.getInt(R.styleable.TextGroupView_edit_maxLength, Integer.MAX_VALUE);
358361
editDigits = typedArray.getString(R.styleable.TextGroupView_edit_digits);
359362
editEllipsize = typedArray.getInt(R.styleable.TextGroupView_edit_ellipsize, 0);
360363
editSingleLine = typedArray.getBoolean(R.styleable.TextGroupView_edit_singleLine, false);
@@ -465,6 +468,7 @@ private void initAttrs(Context context, AttributeSet attrs) {
465468
if (!TextUtils.isEmpty(editText)) {
466469
editView.setText(editText);
467470
}
471+
editView.setFilters(new InputFilter[]{new InputFilter.LengthFilter(editMaxLength)});
468472
editView.setTextColor(editTextColor);
469473
editView.setFocusable(editFocusable);
470474
editView.setHintTextColor(editHintTextColor);
@@ -1512,6 +1516,15 @@ public void setEditMaxLines(int editMaxLines) {
15121516
editView.setMaxLines(editMaxLines);
15131517
}
15141518

1519+
public int getEditMaxLength() {
1520+
return editMaxLength;
1521+
}
1522+
1523+
public void setEditMaxLength(int editMaxLength) {
1524+
this.editMaxLength = editMaxLength;
1525+
editView.setFilters(new InputFilter[]{new InputFilter.LengthFilter(editMaxLength)});
1526+
}
1527+
15151528
public String getEditDigits() {
15161529
return editDigits;
15171530
}

app/src/main/res/values/attrs.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@
165165
<attr name="edit_background" format="reference" />
166166
<attr name="edit_singleLine" format="boolean" />
167167
<attr name="edit_maxLines" format="integer" />
168+
<attr name="edit_maxLength" format="integer" />
168169
<attr name="edit_digits" format="string" />
169170
<attr name="edit_ellipsize">
170171
<flag name="start" value="0" />

0 commit comments

Comments
 (0)