Как сделать edittext в Android прокручиваемым? - PullRequest
25 голосов
/ 29 апреля 2011

Я создаю динамический макет, содержащий текст для редактирования. Я хочу сделать этот текст для редактирования прокручиваемым.

questionEntry.setMaxLines(1);
questionEntry.setVerticalScrollBarEnabled(true);
questionEntry.setMovementMethod(new ScrollingMovementMethod());

Используя этот код, я сделал прокручиваемый текст редактирования. Но проблема в том, когда я что-то печатаю. Если он достигнет конца редактируемого текста, он перестанет печатать мой текст и не будет автоматически переходить к следующей строке. Если я нажму клавишу ввода, он будет прыгать. Я хочу сделать это автоматически.

Ответы [ 3 ]

27 голосов
/ 02 мая 2011
questionEntry.setScroller(new Scroller(myContext)); 
questionEntry.setMaxLines(1); 
questionEntry.setVerticalScrollBarEnabled(true); 
questionEntry.setMovementMethod(new ScrollingMovementMethod()); 

я внес некоторые изменения в мой предыдущий код.выше размещен мой новый код.

он работает ... спасибо за все

22 голосов
/ 16 июня 2015

Я знаю, что на этот вопрос уже есть ответ, но если вы хотите получить тот же результат через XML, измените

android:inputType="text"

до

android:inputType="textMultiLine"

для вертикально прокручиваемого EditText.

18 голосов
/ 25 июня 2016

Попробуйте, надеюсь, это поможет

questionEntry.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (v.getId() == R.id.inputFormComments) {
            v.getParent().requestDisallowInterceptTouchEvent(true);
            switch (event.getAction() & MotionEvent.ACTION_MASK) {
                case MotionEvent.ACTION_UP:
                    v.getParent().requestDisallowInterceptTouchEvent(false);
                    break;
            }
        }
        return false;
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...