2014-11-08 9 views
9

si prega di trovare sotto il mio layout & il suo risultato; Ho bisogno del testo "SMS" "per allineare sulla linea di base del testo" Intestazione "(di seguito il codice e l'istantanea). Sarebbe felice se qualcuno mi può dare una direzioneAllineamento della baseline di due visualizzazioni di testo in Android

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:weightSum="1.0" 
android:baselineAligned="true" 
> 

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="0.2" 
    android:background="@color/custom_orange" 
    android:gravity="center" 
    > 


    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:text="Header" 
     android:textSize="25sp" 
     android:id="@+id/title" 
     android:gravity="center" 
     android:background="@color/custom_red"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:text="Text message" 
     android:textSize="10sp" 
     android:id="@+id/language" 
     android:gravity="center" 
     android:background="@color/custom_green"/> 
</LinearLayout> 

</LinearLayout> 

Questo è il risultato

enter image description here

Questo è quello che mi serve

enter image description here

risposta

18

Usa RelativeLayout come contenitore per TextViews e aggiungi l'attributo

android:layout_alignBaseline="@+id/title" 

a id/lingua TextView

2

Basta usare l'Android: la gravità = "bottom" su LinearLayout (La lineare con i textviews entrambi) e Android: layout_height = "wrap_content" in entrambe le TextViews.

+1

Non risolve la domanda dell'OP quando i caratteri sono di dimensioni diverse. – javajon

+0

In realtà lo fa. Sono rimasto così sorpreso quando ho scoperto per caso questo. Ora sto cercando di capire come. –

+3

So che è molto vecchio, ma lascerò questo qui perché penso che sia utile, LinearLayouts ha una proprietà chiamata "baselineAligned" (attivata per impostazione predefinita) che fa esattamente ciò che implica il nome: allinea le viste in base al loro linee di base (praticamente tutte le sottoclassi TextView) a meno che non abbiano una gravità, motivo per cui il layout di OP non ha funzionato correttamente. Vedi di più qui: https://possiblemobile.com/2013/10/shifty-baseline-alignment/ –

Problemi correlati