Androidでは、矩形枠に文字を入力して残りの文字を表示する機能を実現します。


この二つの機能は簡単ですが、実際のアプリの開発ではよく見られます。特に文字数や残りの文字を表示する機能があります。
次の図のように

上の機能を実現するには、3つの点を行う必要があります。
1、長方形枠のレイアウトを実現する
考え方は長方形の枠が全体の配置の一つとしてbackgroundであり、drawableの中にshop.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" 
そして、edtTextとTextviewを必要に応じて矩形領域に配置する。
2、edit Textの下線を隠す
デフォルトでは、edit Textに文字を入力すると、下に下線があります。

android:background="@null"
下線を隠します。
3、残りの文字数を計算する
この問題は、edit Textコントロールに対してaddText ChangedListener()を呼び出すことによって、傍受を実現することができる。

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の中で、矩形枠に文字を入力して残りの文字数を表示する机能を実现しました。皆さんの助けになりたいです。ここでも私たちのサイトを応援してくれてありがとうございます。