¿Cómo puedo alignBaseline a la línea de fondo de TextView multi-línea?

Tengo dos TextViews lado a lado. Digamos que el TextView izquierdo es 1 línea y el TextView derecho es 2 líneas. ¿Hay alguna manera de alinear las líneas de base del TextView izquierdo con la última línea en el TextView derecho?

Estoy abierto a usar cualquier diseño (RelativeLayout, LinearLayout, etc) que puede lograr esto.

(El comportamiento predeterminado de android:layout_alignBaseline en Android es que alinea las líneas de base de las líneas superiores.)

Puede lograr esto con RelativeLayout si implementa un TextView personalizado. Específicamente, podría sobrescribir TextView.getBaseline así:

 package mypackage.name; // TODO: imports, etc. public class BaselineLastLineTextView extends TextView { // TODO: constructors, etc. @Override public int getBaseline() { Layout layout = getLayout(); if (layout == null) { return super.getBaseline(); } int baselineOffset = super.getBaseline() - layout.getLineBaseline(0); return baselineOffset + layout.getLineBaseline(layout.getLineCount()-1); } } 

A continuación, utilizar su TextView personalizado dentro de un RelativeLayout de la siguiente manera:

 <mypackage.name.BaselineLastLineTextView android:id="@+id/text_view_1" <!-- TODO: other TextView properties --> /> <TextView android:id="@+id/text_view_2" android:layout_alignBaseline="@id/text_view_1" <!-- TODO: other TextView properties --> /> 

Supongo que un RelativeLayout lo haría.

 <RelativeLayout..> <TextView android:id="@+id/tv2" android:layout_alignParentRight="true" android:maxLines="2" ... /> <TextView android:id="@+id/tv1" android:layout_toLeftOf="@id/tv2" android:layout_alignBottom="@id/tv2" android:maxLines="1" ... /> </RelativeLayout> 
  • Obtener altura real de la vista
  • cómo dar una animación curl página en un evento de clic de ImageButton
  • Programación de Android: ¿Cómo dibujar texto multilínea en un rectángulo?
  • NullPointerException en la animación de dissapearence de RecyclerView desde soporte v.23.2.0
  • ¿Cómo manejar clics / toques en componentes personalizados repetidos?
  • Mostrar el texto del ayudante debajo de EditText junto con la sugerencia
  • Cómo utilizar tabContentStart para iniciar el contenido desde la mitad de la pantalla del dispositivo
  • Match_parent altura dentro de la disposición con wrap_content altura
  • Android: Botón con dos imágenes | alineación
  • Botón de presentación condicional
  • Ocultar barra de estado de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.