禁用EditText中的滚动选项

时间:2014-04-11 09:23:11

标签: android android-edittext

当用户在其上输入更多字符时,禁用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

        }
    });

2 个答案:

答案 0 :(得分:9)

您可以尝试 setMovementMethod()它将禁用EditText文本滚动。但你必须管理文字大小。

  

editText.setMovementMethod(空);

希望它能帮到你......

答案 1 :(得分:-3)

使用以下属性进行edittext -

android:singleLine="true"
android:lines="1"
android:maxLines="1"