Search code examples
androidscrolltextviewandroid-scrollviewscrollable

Making TextView scrollable on Android


I am displaying text in a TextView that appears to be too long to fit into one screen. I need to make my TextView scrollable. How can I do that?

Here is the code:

final TextView tv = new TextView(this);
tv.setBackgroundResource(R.drawable.splash);
tv.setTypeface(face);
tv.setTextSize(18);
tv.setTextColor(R.color.BROWN);
tv.setGravity(Gravity.CENTER_VERTICAL| Gravity.CENTER_HORIZONTAL);
tv.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch(View v, MotionEvent e) {
        Random r = new Random();
        int i = r.nextInt(101);
        if (e.getAction() == e.ACTION_DOWN) {
            tv.setText(tips[i]);
            tv.setBackgroundResource(R.drawable.inner);
        }
        return true;
    }
});
setContentView(tv);

Solution

  • You don't need to use a ScrollView actually.

    Just set the

    android:scrollbars = "vertical"
    

    properties of your TextView in your layout's xml file.

    Then use:

    yourTextView.setMovementMethod(new ScrollingMovementMethod());

    in your code.

    Bingo, it scrolls!