Android – EditText multilínea forzada a llenar la altura
Necesito un EditText que rellene la altura de mi ventana. Estoy usando esto:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" > <EditText android:id="@+id/text_editor" android:layout_width="match_parent" android:layout_height="fill_parent" android:background="#ff0000" android:gravity="top|left" android:inputType="textMultiLine" android:textColor="@android:color/white" /> </ScrollView>
Pero todo lo que tengo es una línea EditText que será más largo y desplazable una vez que escribo algo en varias líneas escribiendo el botón de retorno. Sé que puedo fijar el número de línea, pero en este caso debe trabajar en diversos dispositivos y cada dispositivo (supongo) tiene cantidad diferente de líneas.
- Android: crea un LinearLayout que contiene un ListView desplazable
- Android: arrastrar en MPAndroidChart no responde cuando está contenido en ScrollView
- Mantenga ScrollView de ocupar demasiado altura
- Tema scrollView y pie de página en android
- RelativeLayout dentro de ScrollView con allignParentBottom
¿Cómo puedo forzarlo a llenar el dispositivo en altura?
¿Algun consejo?
- Desplazamiento con varios ListViews para Android
- ¿Cómo trabajar, cuando listview dentro del scrollview?
- El teclado suave de Android oculta el botón
- ¿Cómo puedo configurar la imagen de fondo con picasso en el código
- Scrollview con paginación en android
- ¿Cómo desplazarse a la parte superior del diseño de ScrollView largo?
- ¿Cómo puedo ajustar las interacciones con ScrollView, de modo que los usuarios no se muevan accidentalmente en la dirección equivocada?
- Cómo configurar una vista para no desplazarse con scrollview en Java
Intente utilizar (sin ScrollView):
<EditText android:id="@+id/text_editor" android:layout_width="match_parent" android:layout_height="fill_parent" android:background="#ff0000" android:gravity="top|left" android:textColor="@android:color/white" />
Trate de configurar esto para EditText, tuve la misma cosa, esto funcionará.
<EditText android:id="@+id/text_editor" android:layout_width="match_parent" **android:layout_height="wrap_content"** android:background="#ff0000" android:gravity="top|left" android:inputType="textMultiLine" android:textColor="@android:color/white" />
Y también puede utilizar este para establecer exactamente cuántas líneas que necesita,
android:lines="number of Lines"
RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <EditText android:id="@+id/editText1" android:scrollbars="vertical" <----------- android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:gravity="top|left" android:ems="10" android:text=" example text" /> </RelativeLayout>
En el código de java establecer esto …..
ed1 = (EditText) findViewById(R.id.editText1); ed1.setMovementMethod(new ScrollingMovementMethod()); <--------
Funcionará en todos los dispositivos.
Espero que esto te ayudará.
Mi código es trabajo para mí.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ffffff" android:orientation="vertical" > <ImageView android:id="@+id/imageView20" android:layout_width="fill_parent" android:layout_height="wrap_content" android:contentDescription="@string/img_desc1" android:src="@drawable/num74_head_payakorn" /> <TableRow android:id="@+id/tableRow1" android:layout_width="fill_parent" android:layout_height="fill_parent" > <EditText android:id="@+id/edtPayakorn" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textSize="22sp" android:clickable="false" android:cursorVisible="false" android:editable="false" android:enabled="true" android:focusable="false" android:focusableInTouchMode="false" android:gravity="top|left" android:scrollbars="vertical" android:inputType="textMultiLine" /> </TableRow> </LinearLayout>
Si usted puede agregarlo en el código sería como esto:
EditText et = new EditText(this); l.addView(et, new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, 100));
Donde el 100
significa que va a tener 100dp de ancho. El l
es el Layout
que puede tener ( ScrollView
en su caso) que puede obtener con R.layout.name_of_the_scroll_view
.
No estoy seguro pero trate de poner en la propiedad de height el WRAP_CONTENT
.