Android: Making a TextView Scrollable

I needed a TextView to take the rest of the screen realstate. This TextView would behave as a logging component.
I tried using android:singleLine=”false” but that didn’t cut it.

What I did:
Add a ScrollView (with android:fillViewport=”true” and android:layout_weight=”1″), then add a LinearLayout (yup…), and then add the TextView to fill all of that up (android:layout_weight=”1″ too)

Here’s the only thing that worked for me:
[code lang=”xml”]
<ScrollView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" android:fillViewport="true">
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent">
<TextView android:text="@+id/TextView01"
android:id="@+id/logTextView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="#000"
android:background="#fff"
android:layout_weight="1"></TextView>
</LinearLayout>
</ScrollView>
[/code]

Then on your Activity, do this:
[java]
_logTextView = (TextView) findViewById(R.id.logTextView);
_logTextView.setText("");

//and here comes the magic
_logTextView.setMovementMethod(ScrollingMovementMethod.getInstance());
[/java]

5 thoughts on “Android: Making a TextView Scrollable

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.