实现在矩形框中输入文字,可以显示剩余字数的功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现在矩形框中输入文字,可以显示剩余字数的功能相关的知识,希望对你有一定的参考价值。

如下图:

技术分享

 

要实现上面的功能,需要做到三点:

1、实现矩形框布局

思路就是矩形框作为整个布局的一个background,在drawable中创建一个shap.xml样式文件

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
 
    <padding
        android:bottom="1dp"
        android:left="1dp"
        android:right="1dp"
        android:top="1dp" />
    <!-- 设置圆角矩形 -->
    <!--<corners android:radius="3dp" />-->
 
    <stroke
        android:width="1px"
        android:color="#000" />
 
    <solid android:color="#ffff" />
 
</shape>

在布局文件中设置  android:background="@drawable/shap"

然后将editText和Textview按照要求布局到该矩形区域中

2、隐藏editText的下划线

默认情况下,editText中输入文字后,下面都会有下划线,可以使用  android:background="@null"

将其下划线隐藏。

3、计算剩余字数

这个问题可以通过对editText控件调用addTextChangedListener()方法实现监听

final int maxNum = 500;      
final TextView leftNum = (TextView) findViewById(R.id.leftNum);
EditText ed = (EditText) findViewById(R.id.nikeName);
 
ed.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
 
    }
 
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
 
    }
 
    @Override
    public void afterTextChanged(Editable s) {
        leftNum.setText("剩余字数:"+ (maxNum-s.length()));
    }
});           

  

 



以上是关于实现在矩形框中输入文字,可以显示剩余字数的功能的主要内容,如果未能解决你的问题,请参考以下文章

求一种记事本软件,可以显示字数,但是又没有字数限制的。

js 实现textarea输入字数提示

Android字数限制的EditText实现方案研究

统计剩余字数(jq版)

c语言文章编辑实现代码

实现password框中显示文字提示的方式