随时监测EditText长度,在长度将要超过框式,设置EditText中字体的大小。
解决方案 »
- avd运行时报nullPointException
- android程序无法运行!!快崩溃啦
- canvas.drawLine 画的线所围成的图形如何填充颜色
- android的宏#ifdef SINGLE_PROCESS是嘛意思?
- 有关源码中的setting的代码设置问题?
- 求助!困扰一天一夜了!有关http发送list容器的问题!
- 大神救命啊!64位ubuntu下用Android Screen Monitor 报错!
- 一个定位的问题
- 新手求救啊
- 求助:点击按钮弹出calendarview日历视图来选择日期
- ndk 是否可以实现串口通信?
- 谢谢,如何通过屏幕Touch事件来触发Menu菜单,而不用软键盘来实现。!
{
@Override
public boolean onKey(View arg0, int arg1, KeyEvent arg2)
{
// 这里设置editText的字体大小
}
});
帮帮忙!
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:字符数
在监听方法里面:
//计算当前文本长度
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;
}
}效率可能低了点儿但是大概方法是这样,自己可以改改提升效率