欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2022-07-18 12:20:49
虽然这两个功能都比较简单,但是在实际app开发中真的很常见,特别是显示字数或剩余字数这个功能 如下图: 要实现上面的功能,需要做到三点: 1、实现矩形框布局 思...

虽然这两个功能都比较简单,但是在实际app开发中真的很常见,特别是显示字数或剩余字数这个功能

如下图:

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

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

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()));
  }
}); 

运行效果:

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

以上所述是小编给大家介绍的android中实现在矩形框中输入文字显示剩余字数的功能,希望对大家有所帮助