studio programacion herramientas fundamentos con avanzado aplicaciones android android-2.2-froyo text-alignment

programacion - manual de android en pdf



¿Alineación múltiple en TextView? (4)

Tengo un TextView como abajo. Utilicé este código para establecer el color gris de una parte del texto.

// Prepare result text. final String resultText = text + "/n/n" + dictionaryName; final SpannableString styledResultText = new SpannableString(resultText); styledResultText.setSpan(new ForegroundColorSpan(Color.GRAY), text.length() + 2, text.length() + 2 + dictionaryName.length(), 0); resultTextView.setText(styledResultText);

Ahora quiero establecer alinear para ello. ¿Cómo hacer? Android no tiene ninguna clase de rango para la alineación. No puedo encontrar nada como "AlignmentSpan".


AFAIK esto no es posible. Realmente me gustaría tenerlos como dos campos diferentes. Parece que tiene los datos separados, ¿por qué no crea un TextView separado para el texto gris (dictionaryName)?

He intentado usar spannables lo menos posible por esta misma razón.


Aunque es muy tarde para responder, asumo que podría ayudar a alguien por lo menos. Agregue esto a su código.

styledResultText.setSpan(new AlignmentSpan.Standard(Alignment.ALIGN_OPPOSITE), text.length() + 2, text.length() + 2 + dictionaryName.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

Alignment.ALIGN_OPPOSITE es el equivalente para el lado derecho.

Alignment.ALIGN_NORMAL es el equivalente para el lado izquierdo.


Creo que deberías dividir el texto en más de una cadena, colocarlos en una vista de texto separada y luego alinearlos uno por uno.

Espero que esto ayude.


Si el resultText siempre va a estar alineado a la derecha, agregue el atributo gravity = "right" a su resultTextView lugar de intentar alinear el texto con las cadenas distribuibles con estilo. Esto es asumiendo que el texto gris está dentro de un TextView separado del texto principal.

En xml para el texto del resultado (gris):

<TextView android:id="@+id/resultTextView" android:gravity="right" android:layout_width="fill_parent" />