texto tamaño studio solo seleccionar salto plain numeros numero mascara linea limitar edittext color caracteres cambiar android layout android-edittext

android - studio - ¿Cómo evito que EditText se cambie de tamaño cuando el usuario está escribiendo?



seleccionar texto edittext android (9)

Da EditText a maxWidth . Eso debería evitar que cambie el tamaño más allá del ancho que proporcionó. Además, si desea que esté dentro de 1 línea, establezca también la configuración de maxLines en 1.

Tengo un EditText y un Button juntos uno al otro en la misma línea horizontal. Se ve muy bien, excepto cuando el usuario ingresa una gran cantidad de texto, EditText se redimensiona y el Button se aplasta.

Tengo EditText y Button configurados en layout_width="wrap_content" . "fill_parent" estropea el diseño, y no quiero usar tamaños absolutos si no tengo que hacerlo: la forma en que ahora se ve genial tanto en paisaje como en retrato, simplemente no quiero que EditText tamaño.

Mi diseño:

<TableLayout android:id="@+id/homelayout" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TableRow> <TextView android:id="@+id/labelartist" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Find artists:" /> </TableRow> <TableRow> <EditText android:id="@+id/entryartist" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="6" android:background="@android:drawable/editbox_background" android:editable="true" android:padding="5px" android:singleLine="true" /> <Button android:id="@+id/okartist" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_marginLeft="10dip" android:layout_weight="1" android:text="Search" /> </TableRow> </TableLayout>


La forma correcta de hacer esto sería configurar el android: minWidth y android: maxWidth igual al ancho que desee. De esta forma, no tendrá que ajustar su diseño para usar el android: layout_weight.

Por ejemplo, si quiere que su EditText siempre tenga 80 píxeles de densidad, no importa cuántos caracteres escriba, use lo siguiente:

android:minWidth="80dp" android:maxWidth="80dp"


Lo que hago es en onCreate para la actividad, mido EditText primero y luego aplico su maxWidth.

Puede hacerlo usando un código similar al siguiente:

EditText someedittext = (EditText)findViewById(R.id.sometextview); someedittext.setMaxWidth(someedittext.getWidth());


Para el uso de EditText

android:layout_width="0dp" - not required but preferred. android:layout_weight="1"

Y para Button no especifique android:layout_weight


Solo usa:

android:layout_width="fill_parent"

para EditText y Button. También funcionará para EditText, pero es mejor tenerlo en ambos.


Tenía la consulta exacta. Pero tenía un EditText y un botón uno al lado del otro en un diseño lineal. Intenté con Android: layout_weight = "1" para EditText android: layout_width = "0dp" ¡Y funcionó perfectamente! ¡Muchas gracias!


Tuve un problema similar, pero no pude hacer que lo anterior funcionara. Lo que hice fue tomar el texto del cuadro EditText y luego formatearlo hasta el tamaño máximo que mi pantalla podría manejar. Cuando guardo esto en la base de datos, lo guardaré como texto de visualización y texto original.

Si vas a esta página , pongo una explicación más larga.


puedes definir el tamaño de tu texto de edición como se muestra arriba

android:minWidth="80dp" android:maxWidth="80dp"

o

android:layout_width="60dp"

o

puede aplicar una imagen de fondo del tamaño que desee, pero no olvide definir su altura y ancho con wrap_content.

android:layout_width="wrap_content" android:layout_height="wrap_content"


Necesita agregar android: imeOptions para evitar este comportamiento.

haga clic aquí