Bytecode
Bytecode

Reputation: 6591

Android EditText Vertical Scrolling Problem

I'm using an EditText of some predefined size, however when a user enters more text then fits in the text box, they aren't able to scroll the text with touch. Scrolling does work with a trackball.

What can I do to fix this?

Upvotes: 7

Views: 33592

Answers (4)

Pratik Dodiya
Pratik Dodiya

Reputation: 2657

A simple way to do scroll-able text in edittext if parent is NestedScrollView or ScrollView

XML code

android:gravity="top"
android:inputType="text|textMultiLine"
android:lines="5"

Use below code for Kotlin

    editText.setOnTouchListener { v, event ->
        if (v.id == R.id.editText) {
            v.parent.requestDisallowInterceptTouchEvent(true)
            when (event.action and MotionEvent.ACTION_MASK) {
                MotionEvent.ACTION_UP -> v.parent.requestDisallowInterceptTouchEvent(false)
            }
        }
        false
    }

Upvotes: 0

Amsheer
Amsheer

Reputation: 7131

In java

 EditText dwEdit = (EditText) findViewById(R.id.DwEdit);       
 dwEdit.setOnTouchListener(new OnTouchListener() {
       public boolean onTouch(View view, MotionEvent event) {
            // TODO Auto-generated method stub
            if (view.getId() ==R.id.DwEdit) {
                view.getParent().requestDisallowInterceptTouchEvent(true);
                switch (event.getAction()&MotionEvent.ACTION_MASK){
                case MotionEvent.ACTION_UP:
                    view.getParent().requestDisallowInterceptTouchEvent(false);
                    break;
                }
            }
            return false;
        }
    });

In xml

<EditText
android:id="@+id/DwEdit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minLines="10"
android:scrollbarStyle="insideInset"
android:scrollbars="vertical" 
android:overScrollMode="always"
android:inputType="textCapSentences">
</EditText> 

Upvotes: 10

Sunil Kumar Sahoo
Sunil Kumar Sahoo

Reputation: 53647

make the changes like the following to get scroller in your EditText

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

How to make edittext in Android scrollable?

Donot forget to vote if you feel my response is helpful for you

Thanks Deepak

Upvotes: 15

Vinay
Vinay

Reputation: 6322

If you would like the text to scroll horizontally, define in your EditText XML tag:

android:scrollHorizontally="true"

If you would like a vertical scroll, define in your EditText XML tag:

android:scrollbars = "vertical"

Hope this helped.

Upvotes: 27

Related Questions