EditText 实时显示输入的字数与最大输入限制长度

废话不多说了,带来一个简单的EditText,满足一般的需求。


```c
editText.addTextChangedListener(new TextWatcher() {
			//记录输入的文字
            private CharSequence wordNum;
            private int selectionStart;
            private int selectionEnd;

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
				//输入框输入之前监听
            }
	
			//输入框实时监听
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
            //实时记录输入的文字
                wordNum = s;
            }

			//输入完成之后的监听
            @Override
            public void afterTextChanged(Editable s) {
                //TextView显示剩余字数
                //这里的200 是你在XML文件里面设置的maxLength
                textViewXianZhi.setText(s.length() + "/200");
                selectionStart = editTextWenTi.getSelectionStart();
                selectionEnd = editTextWenTi.getSelectionEnd();
                if (wordNum.length() > num) {
                    //删除多余输入的字(不会显示出来)
                    s.delete(selectionStart - 1, selectionEnd);
                    int tempSelection = selectionEnd;
                    editTextWenTi.setText(s);
                    //设置光标在最后
                    editTextWenTi.setSelection(tempSelection);
                }
            }
        });

最后就能有一个右下角显示 当前输入字数/最大限制字数的 EditText了

附XML布局:

EditText
                    android:id="@+id/et_opinion_wenti"
                    android:layout_width="660px"
                    android:layout_height="320px"
                    android:layout_centerInParent="true"
                    android:background="@null"
                    android:gravity="start"
                    android:hint="@string/string_editor_detail_hint"
                    android:maxLength="200"
                    android:minLines="10"
                    android:paddingLeft="20px"
                    android:paddingTop="20px"
                    android:textColor="#333333"
                    android:textColorHint="#b3b3b3"
                    android:textSize="28px" 

                TextView
                    android:id="@+id/tv_opinion_textnum"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:layout_alignParentRight="true"
                    android:layout_marginBottom="20px"
                    android:layout_marginRight="30px"
                    android:textColor="#b3b3b3"
                    android:textSize="24px" 

效果预览,这里使用相对布局,底下那一层是输入框,上面那一层是TexrView,用来显示输入字数/最大字数

效果预览,这里使用相对布局,底下那一层是输入框,上面那一层是TexrView,用来显示输入字数/最大字数,注:图上的右下角蓝色那里,是TextView的位置。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值