Home / Programmazione / Java Android / Impostare lo scroll in una TextView in Android
Mattepuffo

Impostare lo scroll in una TextView in Android

Impostare lo scroll in una TextView in Android

Di default le TextView in Android non sono scrollabili, nel senso che se il testo è più lungo dello schermo, una parte rimane nascosta.

Il mio layout, nello scpecifico, è composto di tre TextView:

  • la prima per il titolo
  • la seconda per i dettagli
  • la terza per il testo

Se metto semplicemente tre TextView una sotto l'altra, la terza si vedrà solo per un pezzo (se il testo è troppo lungo ovviamente).

Per ovviare a questo problema possiamo fare una qualche modifica al layout, inserendo la TextView dentro ad una ScrollView:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/titolo"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:padding="5dp"
        android:textAppearance="?android:attr/textAppearanceLarge" >
    </TextView>

    <TextView
        android:id="@+id/dettagli"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:textSize="12sp" >
    </TextView>

    <ScrollView
        android:id="@+id/scroller_id"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true"
        android:scrollbars="vertical" >

        <TextView
            android:id="@+id/testo"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:padding="10dp" />
    </ScrollView>

</LinearLayout>

La ScrollView si occuperà di aggiungere la barra per lo scroll e rendere il testo scrollabile.

Enjoy!