当用户在其上输入更多字符时,禁用EditText中的滚动选项。而不是滚动选项我需要减少字体/类型大小。
我目前正在做的是获取字符数,如果它超过特定限制,减少字体大小。我想要做的是当滚动选项被激活时,需要减小大小。
qQuestionEditText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
qCount.setText(String.valueOf(200 - s.length()));
if (qQuestionEditText.length() > 180) {
qQuestionEditText.setTextSize(20);
} else if (qQuestionEditText.length() > 150) {
qQuestionEditText.setTextSize(22);
} else if (qQuestionEditText.length() > 120) {
qQuestionEditText.setTextSize(24);
} else if (qQuestionEditText.length() > 90) {
qQuestionEditText.setTextSize(26);
} else if (qQuestionEditText.length() > 60) {
qQuestionEditText.setTextSize(28);
} else if (qQuestionEditText.length() > 30) {
qQuestionEditText.setTextSize(30);
} else {
qQuestionEditText.setTextSize(32);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
答案 0 :(得分:9)
您可以尝试 setMovementMethod()它将禁用EditText文本滚动。但你必须管理文字大小。
editText.setMovementMethod(空);
希望它能帮到你......
答案 1 :(得分:-3)
使用以下属性进行edittext -
android:singleLine="true"
android:lines="1"
android:maxLines="1"