2009-09-01 11 views
15

Cómo hacer que EditText sea más pequeño que el predeterminado en altura?¿Cómo hacer que android EditText sea más pequeño que el predeterminado en altura?

Si cambio la altura, no puedo ver mi texto, pero tiene un espacio en blanco adicional en la parte inferior.

+1

'Esta pregunta es poco probable para ayudar a cualquier visitors' futuro, sí a la derecha! Hay más de 40k visitas. –

+0

El motivo cercano definitivamente no es correcto, pero aún así me gustaría ver un ejemplo de cuál es el comportamiento deseado y cuál es el comportamiento actual, una captura de pantalla tal vez. Quizás a lo largo de los años también se mejoraron los estándares para hacer preguntas. – Trilarion

Respuesta

24

EditText tiene un conjunto de relleno predeterminado.

Prueba de esto,

<EditText 
    android:text="Any Text" 
    android:layout_width="fill_parent" 
    android:layout_height="16dp" 
    android:padding="2dp" 
    android:background="#FFF" 
    android:textSize="10dp" 
/> 
+1

Esto hace que el texto de edición sea más pequeño, pero cuando hago clic en él, habrá una línea naranja en el centro. – Jacky

+0

@Jacky: eso se puede manejar agregando fondo. Pruebe con el atributo - android: background = "# FFF" Mejor: especifique un extraíble basado en xml para el fondo, que puede manejar todos los estados (como el enfoque) – bhatt4982

+1

Esto parece bastante pirateado. Por un lado, debe establecer textSize utilizando la medición sp, no dp. –

3

¿Es una opción establecer explícitamente la altura?

Si es así, usar algo como

<EditText 
    android:id="@+id/smallEditText" 
    android:layout_width="wrap_content" 
    android:layout_height="10dip"/> 

Puede disminuir el tamaño de la fuente, mediante el uso de android:textSize en XML. También puede hacer que su control sea desplazable.

Editar: Solo vi tus capturas de pantalla, ¿cuál es el diseño en el que has puesto EditText? Puede estar estableciendo reglas de diseño no explícitas para su control.

+0

Uso LinerLayout, de hecho, hacer que la fuente de texto sea más pequeña no resolverá el problema – Jacky

7

no estaba realmente satisfecho con ninguna de las respuestas allí, sin embargo, cuando se combinan, en su mayoría contienen todos los ingredientes para la solución correcta. Pero identifiquemos primero cuál es el problema. El problema es que bhatt4982 declaró el relleno y él ha proporcionado una solución a eso. Establezca relleno para lo que quiera. Si también desea un tipo de letra más pequeño hacer algo como learn_andrd sugiera o algo así

style="@android:style/TextAppearance.Small.Inverse" 

Ahora, el ancho del elemento EditarTexto es correcto y el tamaño de fuente coincide con la de su TextView regular. Sin embargo, el color es inverso ya que el gris claro no se ve muy bien en el fondo blanco. Y eso nos lleva al último de nuestros problemas, el trasfondo. Necesita establecer un fondo diferente porque el fondo EditText predeterminado tiene una altura mínima. Esa altura es la altura de la altura actual del elemento. AFAIK Android no admite la reducción de imágenes de fondo. Debes definir tu propio fondo Drawable para EditText que permita alturas inferiores a las que permite el valor predeterminado. De lo contrario, no tendrá ningún efecto, independientemente de lo que intente establecer para la altura o el relleno o el maring.

P.S. Tal vez se pregunte por qué le han dificultado crear EditViews más pequeños ... quizás tenga algo que ver con el hecho de que, incluso si lo es, es muy difícil usar el dedo para mover el cursor a un área específica. posición en el elemento EditText (por ejemplo, para corregir un error tipográfico sin borrar todo). Será imposible si haces que el texto sea aún más pequeño. Por lo tanto, probablemente deberías reconsiderar si lo que estás tratando de lograr es realmente algo que valga la pena a menos que estés tratando de reducir el relleno.

0

cambio el texto XML editar estas dos propiedades

android:layout_height="15dp" 
android:textSize="12sp" 
Cuestiones relacionadas