2012-06-20 11 views
5

Necesito un EditText que llene mi ventana de altura. estoy usando esto:Android - EditText multiline forzado a llenar altura

<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 consigo es una línea de EditarTexto que será más largo y desplazable vez que escribo algo en teléfono multilínea escribiendo el botón de retorno. Sé que puedo establecer el número de línea, pero en este caso debería funcionar en diferentes dispositivos y cada dispositivo (supongo) tiene diferentes cantidades de líneas.

¿Cómo puedo forzar que llene el dispositivo en altura?

¿Algún consejo?

Respuesta

2

Trate de usar (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" /> 
+0

Usar sin scrollview ayudó. –

0

Si puedes añadir en el código sería así:

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 usted puede tener (ScrollView en su caso) que puede obtener con R.layout.name_of_the_scroll_view.

No estoy seguro, pero intento poner en la propiedad de altura el WRAP_CONTENT.

0
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 código Java establecer este .....

ed1 = (EditText) findViewById(R.id.editText1); 
ed1.setMovementMethod(new ScrollingMovementMethod()); <-------- 

funcionará en todos los dispositivos.

Espero que esto te ayude.

2

Intenta configurar esto para EditText, tenía lo mismo, 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 se puede utilizar éste para establecer con exactitud el número de líneas que necesita,

android:lines="number of Lines" 
0

Mi código es un 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>