2010-03-19 23 views
19

Necesito establecer la altura máxima de TextView (ya sea usando maxHeight o maxLines). Y si hay más líneas de texto, deberían mostrarse las barras de desplazamiento. ¿Qué marcado debo usar para esto?Android TextView con barras de desplazamiento y maxHeight

La idea inicial era envolver TextView con ScrollView, pero ScrollView no tiene el atributo maxHeight.

Respuesta

56

Diseño:

<TextView 
    android:id="@+id/text_view" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:singleLine="false" 
    android:maxLines="3" 
    android:scrollbars="vertical" 
    android:textColor="@android:color/secondary_text_dark_nodisable" 
    > 
</TextView> 

Código:

TextView textView = (TextView)findViewById(R.id.text_view); 
textView.setMovementMethod(ScrollingMovementMethod.getInstance()); 

Nota:

El androide: textColor = "@ android: el color/secondary_text_dark_nodisable" se utiliza para evitar el texto se desvanecen cuando Textview se toca.

+5

Cuando intento esto, TextView muestra barras de desplazamiento pero no puedo hacer que se desplace. – quikchange

+5

Tiene que ejecutar esto desde el código: 'TexView.setMovementMethod (new ScrollingMovementMethod())'; – Cristian

+3

Funciona para mí, increíble solución de 1 línea. – Programmer

Cuestiones relacionadas