Desplazamiento por programación de una palabra en vista en una vista de texto

Tengo TextView con una gran cantidad de texto, el usuario busca algo y resalto los partidos, sin embargo, pueden estar muy abajo de la página, ¿hay una manera de desplazarse hasta el primer partido?

Miré por todas partes google y no parece encontrar nada relevante.

Mi diseño:

<ScrollView android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:requiresFadingEdge="vertical" android:id="@+id/sclView"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/txtView" android:textSize="16sp" android:paddingTop="10dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingBottom="10dp" android:lineSpacingExtra="5dp" android:textColor="@color/TextGray" android:textIsSelectable="true"/> </ScrollView> 

Supongo que no hay desplazamiento horizontal. Si lo hay, puede extrapolar esta respuesta. Al ver que estás destacando los partidos, también voy a suponer que ya tienes la parte de búsqueda. Esto significa que debe tener al menos una posición de inicio para la cadena de búsqueda en el CharSequence .

Utilice Layout.getLineForOffset para buscar la línea de la cadena, luego Layout.getLineTop para obtener la posición de la parte superior de la línea, luego View.scrollTo para desplazarse a la posición deseada. Debe ser algo como esto:

 Layout layout = textView.getLayout(); scrollView.scrollTo(0, layout.getLineTop(layout.getLineForOffset(startPos))); 

No he probado esto, así que usted puede ser que tenga que hacer algo para ocuparse del relleno que usted ha agregado, etc. pero yo pensaría que la idea general debe trabajar.

  • Cómo obtener el ancho del texto cuando el ajuste de varios spannable
  • Establecer el color de texto de Android TextView de forma programática con setTextColor () procesa android: duplicateParentState inválido
  • Desplazamiento horizontal del texto en Android
  • Horizontalmente Scrollable TextView mostrar el comportamiento inconsistente en las versiones de Android
  • Error al inflar la clase <unknown>
  • Superposición de texto sobre la vista de imagen en android
  • Android: ¿Cómo hago bloques no rompibles en TextView?
  • Escala de texto en una vista para que se ajuste?
  • Pasa la variable entre la clase de no actividad a la clase de actividad de Android
  • Android cómo identificar el elemento en listview con casilla de verificación
  • TextView`s LinkMovementMethod bloquea el evento de toque listitem
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.