2012-08-10 21 views
7

tengo una EDITTEXT con la disposición:EDITTEXT lineSpacingExtra tema

<EditText 
     android:id="@+id/edittext" 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:text="test" 
     android:layout_margin="5dp" 
     android:gravity="left|center_vertical" 
     android:lineSpacingExtra="10dp" 
     android:lineSpacingMultiplier="1" 
     /> 

pero el texto no se centra verticalmente debido lineSpacingExtra. Aquí es como se ve:

enter image description here

cómo hacer, así que mantener lineSpacingExtra etiqueta de texto, sino que tenga centra verticalmente?

+0

lineSpacingExtra parece ser utilizado para espaciar líneas de texto del mismo editText. Debe usar margen para espaciar varios editTexts. ¿Utiliza espaciado y center_vertical en el mismo editText? No sé si eso es posible. – cosmincalistru

+0

@cosmincalistru Tendré más de dos líneas en mi editText y el cliente me pedirá que sea una distancia personalizada entre las líneas, por lo que esta es la única forma que he encontrado para establecer esta distancia –

Respuesta

2

Encontré una forma de simular esto pero no una solución real. Puede agregar relleno superior, pero no es una solución segura.

<EditText 
    android:id="@+id/edittext" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="5dp" 
    android:paddingTop="18dp" 
    android:gravity="left|center_vertical" 
    android:lineSpacingExtra="10dp" 
    android:lineSpacingMultiplier="1" 
    android:text="test" /> 
+0

esto no es una solución porque es el único " padding "debe ser lineSpacingExtra/2, como dice la teoría (este espacio adicional teóricamente se distribuye por encima y por debajo de editText). –

+0

te dije que no es una solución. y tu teoría es mala dicen que el espacio se distribuye entre líneas. eso no incluye la parte superior de la primera línea. – cosmincalistru

+0

de hecho, android: lineSpacingExtra: espaciado adicional entre las líneas de texto. pero: public void setLineSpacing (float add, float mult): Establece el espaciado entre líneas para este TextView. Cada línea tendrá su altura multiplicada por mult y se le agregará agregado. Por lo tanto, aquí no se dice que el valor agregado sea superior o inferior. En la práctica, vi agregar justo debajo ... lo cual está mal ... –

-3
android:lineSpacingExtra="Your Value" 
android:lineSpacingMultiplier="Your Value" 
+0

¿Has leído la pregunta? – Aballano

0

Para mí esto se siente como un problema conocido que experimenté por primera vez cuando el diseño de formularios en la web y el uso de los atributos de CSS incorrecto en un intento de dar más espacio campos de texto.

Entonces, ¿por qué no olvidarse de este atributo lineSpacingExtra y simplemente usar el relleno de la parte superior & relleno inferior?

<EditText 
    android:id="@+id/edittext" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="5dp" 
    android:paddingTop="10dp" 
    android:paddingBottom="10dp" 
    android:gravity="left|center_vertical" 
    android:text="test" /> 
0

Acabo de hacerlo TextView funciona bien.

  <TextView 
      android:id="@+id/txtWelcome" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:gravity="center" 
      android:text="@string/activation" 
      android:lineSpacingMultiplier="1.5" 
      android:textAppearance="@style/CleverFingerThemeLarge" 
      android:textColor="@color/DFTextColor" /> 

si pongo androide: lineSpacingExtra = "20dp"

consigo más espacio entre líneas.

En mi ejemplo, @ string/activation = es un texto de varias líneas.

0

si se establece el siguiente:

android:includeFontPadding="false" 
android:lineSpacingExtra="1" 
android:lineSpacingMultiplier="0dp" 

su acolchado extra debe desaparecer!

+0

'lineSpacingMuliplier' debe ser un valor de coma flotante sin unidad, como" 1.4 " –