2012-01-25 14 views
14

Tengo una actividad con un montón de campos EditText en ella, y el windowSoftInputMode está configurado para ajustar Pan, esto hace sobre todo lo que quiero, sin embargo, para editText en la parte inferior del diseño, no tiene suficiente espacio. Te mostrará la línea superior de un texto de edición multilínea, pero tan pronto como pulses intro, el cursor se moverá por una línea y ahora estará oculto debajo del teclado.Cómo hacer que windowSoftInputMode = "adjustPan" pan more

De todos modos, puedo ampliarlo para que la parte superior de editText esté en la parte superior de la ventana.

El uso de adjustResize definitivamente no hará lo que yo quiero, pan es lo correcto, solo lo necesita para seguir.

+0

publique su captura de pantalla por lo que es fácil para entender el problema – Lokesh

Respuesta

6

Ocurrió lo mismo con mí.

Lo que hice para resolver es, simplemente puse todos los controles en ScrolllView.

Y establece android: windowSoftInputMode adjustResize. Por lo tanto, cada vez que se abre el teclado, se desplazará por la pantalla para ajustar la vista y Edittext siempre se mostrará en la pantalla.

Espero que esta idea funcione para usted.

Gracias

+0

+1, tienes razón, hice lo mismo. –

+0

¿Qué quiere decir con "poner todos los controles en ScrollView"? –

0

tengo edittext en la parte inferior de la pantalla cuando lo toqué abrir el teclado pero esconder el texto de edición, haga los cambios en el diseño (use el diseño relativo) y me funciona sin usar adjustPan. Aquí está mi XML.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/gen_mainlayout" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/bg" 
    android:orientation="vertical" > 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 

     <RelativeLayout 
      android:id="@+id/headerlinearLayout" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="@drawable/navigation_bar" > 

      <Button 
       android:id="@+id/chatterBack" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentLeft="true" 
       android:layout_centerVertical="true" 
       android:layout_marginLeft="20dp" 
       android:background="@drawable/navigation_cancel_button" 
       android:textColor="#FFFFFF" > 
      </Button> 

      <TextView 
       android:id="@+id/ittletextView" 
       style="@style/titleText" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerInParent="true" 
       android:text="Title" > 
      </TextView> 

      <Button 
       android:id="@+id/blockhide" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_centerVertical="true" 
       android:layout_marginRight="20dp" 
       android:background="@drawable/navigation_cancel_button" 
       android:padding="5dp" 
       android:text="Block/Hide" 
       android:textColor="#FFFFFF" > 
      </Button> 
     </RelativeLayout> 

     <LinearLayout 
      android:id="@+id/middlelinearLayout" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/headerlinearLayout" 
      android:orientation="vertical" > 

     </LinearLayout> 


     <LinearLayout 
      android:id="@+id/footerlinearLayout" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:background="@drawable/commnet_post_bg" 
      android:gravity="center" 
      android:paddingLeft="5dp" 
      android:paddingRight="5dp" > 


      <EditText 
       android:id="@+id/sendeditText" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginRight="5dp" 
       android:layout_weight="1" 
       android:background="@drawable/comment_post_text_box" 
       android:imeOptions="actionSend|flagNoEnterAction" 
       android:inputType="text" 
       android:paddingLeft="10dp" 
       android:paddingRight="5dp" 
       android:singleLine="true" > 
      </EditText> 

      <Button 
       android:id="@+id/sendButton" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/send_button" 
       android:text="Send" 
       android:textColor="#FFFFFF" > 
      </Button> 
     </LinearLayout> 
    </RelativeLayout> 

</LinearLayout> 
-1

Debe agregar esta línea a su actividad para ajustar la pantalla.

 <activity android:name=".TodoEdit" 
     android:windowSoftInputMode="adjustResize"> 
+0

como dije en la pregunta adjustResize no lo hace. – superfell

1

Ponga su EditarTexto dentro del ScrollView y luego dan la propiedad adjustResize, en lugar de adjustPan, se ajustará automáticamente la pantalla y sus componentes.

Cuestiones relacionadas