随时监测EditText长度,在长度将要超过框式,设置EditText中字体的大小。

解决方案 »

  1.   

    editText.setOnKeyListener(new EditText.OnKeyListener()
        {    
          @Override
          public boolean onKey(View arg0, int arg1, KeyEvent arg2)
          {
            // 这里设置editText的字体大小
          }
        });
      

  2.   

    你随便建个EditText,不改里面的值,应该是随着字符的增加,输入筐会自动变大呀。
      

  3.   

    怎么判断字符串长度即将超过EditText长度?
    帮帮忙!
      

  4.   


    EditText.addTextChangedListener(this); Override
    public void afterTextChanged(Editable s) {
    // TODO Auto-generated method stub
    }
    } @Override
    public void beforeTextChanged(CharSequence s, int start, int count,
    int after) {
    // TODO Auto-generated method stub
    } @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
    // TODO Auto-generated method stub
    }监听一下里面的s,start;
    可以赋全局变量出来,s:输入的字符串,start:字符数
      

  5.   


    在监听方法里面:
    //计算当前文本长度
    String curText = editText.getText().toString();
    float textSize = editText.getPaint().measureText(curText);
    //如果文本长度大于了输入框宽度就减小文本大小知道可以容纳下当前文本
    if(textSize>editText.getWidth()){
          while(true){
      editText.setTextSize(editText.getTextSize()-1);
      if(editText.getPaint().measureText(curText)<=editText.getWidth())
           break;
      }
    }效率可能低了点儿但是大概方法是这样,自己可以改改提升效率