2011-03-03 21 views
18

Estoy usando una aplicación con pestañas. Hay un EditText mi aplicación. Cuando hago clic en EditText, la ventana cambia de tamaño y el teclado virtual se muestra en la parte inferior de la ventana. Pero las cuatro pestañas se muestran en la parte superior del teclado.android: Cómo evitar el cambio de tamaño de la ventana cuando se muestra el teclado virtual

No quiero mostrar mis pestañas, cuando se muestra keyborad. O no quiero cambiar el tamaño de mi ventana. Mi necesidad es solo ocultar las pestañas y otras cosas debajo de EditText.

Uso todas las opciones con 'android: windowSoftInputMode' en mi manifiesto. PERO no puedo ver ninguna diferencia.

Por favor, dame la solución.

Gracias ..

+0

¿Está utilizando 'RelativeLayout' por casualidad? – Axarydax

+0

ya, estoy usando el diseño relativo – Jomia

Respuesta

10

Cuando llega el teclado virtual, la vista no se vuelve a tamaño pero se movió. Consulte esto blog post para evitar esto.

+0

hola, gracias por el hilo. cuando uso android: windowSoftInputMode = "adjustPan" en el manifiesto, puedo ocultar las pestañas. Pero aún estoy sufriendo de un problema. El teclado suave cubre bootom-half de EditText. Esto está pasando del EditText superior al EditText más bajo. ¿Me puede ayudar a colocar el teclado suave exactamente debajo de cada EditText? – Jomia

+0

¿Has probado el modo adjustResize? – Mudassir

+0

intenté ese también. pero el problema aún permanece allí – Jomia

4

Tengo el mismo problema y no encuentro útil la publicación de blog sugerida por Mudassir. No quiero mover o cambiar el tamaño de mi ventana ni nada, así que ni adjustPan ni adjustResize funcionan.
Solo quiero que deje mi posición de Windows sin cambios.

He encontrado que puedo llamar getWindow y luego ajustar la posición y y la gravedad a top|center_horizontal y que lo fija para las ventanas en las que no se superponen con el teclado cuando aparezca el teclado.

Para ventanas grandes que están parcialmente cubiertas por el teclado, no parece haber una solución para evitar que el teclado las empuje.

+2

¿Intentó 'adjustNothing'? –

+0

Gracias. Después de 6 horas: 'alertDialog.getWindow(). SetGravity (Gravity.TOP | Gravity.CENTER_HORIZONTAL)' funciona. – CelinHC

11

Encontré la solución ... para usuarios especialmente "sencha/phonegap/cordova".

Editar la actividad principal de en el archivo de manifiesto de Android agregar este atributo.

androide: windowSoftInputMode = "adjustNothing"

<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:windowSoftInputMode="adjustNothing" android:label="@string/app_name" android:launchMode="singleTop" android:name="com.company.appName.MainActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Black.NoTitleBar"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 
+0

Para mí, funcionó. –

Cuestiones relacionadas