2012-08-30 18 views
9

Estoy usando una vista de desplazamiento dentro de un diseño relativo.¿Cómo puedo visualizar mi diseño de desplazamiento sobre el teclado?

Pude desplazarme hasta el final de la página en todos los móviles cuando, sin el teclado, en algunos móviles podía ver completamente el diseño de desplazamiento cuando el teclado estaba encendido. ie) - al final de la vista de desplazamiento sobre el teclado.

El problema que he analizado se debe a que el tipo de teclado varía en diferentes dispositivos Android.

Obtuve algunas respuestas para agregar windowSoftInputMode en el manifiesto de actividad.

también agregó: android:windowSoftInputMode="stateHidden|adjustResize"

Pero todavía estoy recibiendo el mismo problema. Si tiene una solución o ha enfrentado el problema, comparta sus ideas. Gracias por tu tiempo.

+0

Sería muy útil si pudiera volver a formular su pregunta y establecer claramente su problema. ¿Cuál es el comportamiento exacto que está sucediendo que no quieres? ¿Desea que la vista de desplazamiento no se cubra con el teclado y suba cuando aparezca el teclado? –

+0

También debe publicar el código XML de su diseño. – MKJParekh

+0

@DanielSmith sí. Esto es lo que exactamente necesito lo que dices. – arnp

Respuesta

3

Me encontré con esta pregunta buscando un problema similar. android:windowSoftInputMode="adjustResize" funciona a veces, no en otras ocasiones. Por qué no?

Esta respuesta se refiere a un tema de pantalla completa de Android. Honeycomb (3.1) adjustResize no longer working?

Para mí el problema era esta llamada aquí: getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

Ajuste de las banderas a pantalla completa impediría el desplazamiento adecuado cuando apareció el teclado.

+0

sí, yo también lo resolví antes. El problema era a pantalla completa. – arnp

1

probar este código en onCreate:

getWindow().setSoftInputMode(
      WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 
+0

ningún cambio mediante la adición de este – arnp

+0

Prueba a eliminar "android: windowSoftInputMode =". StateHidden | adjustResize" y luego añadir el código anterior en OnCreate –

+0

tipo no trabaja – arnp

0

Se puede retener la configuración a través de cualquier actividad en AdroidManifest.xml, al igual que ...

<activity android:name=".views.ViewportActivity" 
        **android:windowSoftInputMode="adjustPan|adjustResize"** 
        android:label="@string/app_name" 
        android:configChanges="locale" 
        android:screenOrientation="portrait" 
        android:theme="@android:style/Theme.NoTitleBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
      </intent-filter> 
     </activity> 
+0

de la mañana ya se utiliza este – arnp

+0

esto es lo que yo uso y es funciona para mí. – IamStalker

1

Estas otras respuestas se deben resolver su problema, así que aunque no me atrevo a sugerir la siguiente solución, la arrojaré allí en caso de que esté presionado por el tiempo o no haga un proyecto donde esto es terriblemente crítico: use un OnGlobalLayoutListener.

Realmente no hay forma de saber absolutamente si un softKeyboard se ha subido (tristemente), pero lo que se puede hacer es ajustar su diseño para que el teclado quede debajo de la vista de desplazamiento (es decir, restablecer la altura a la altura actual - la altura del teclado).

Hay an answer here que explicarán cómo hacer esto muy bien. Nuevamente, no tengo muy claro cuál es tu problema porque no hemos visto el código, etc. y es difícil diagnosticar por qué las otras respuestas no resuelven el problema ... pero si realmente estás atascado, dale un intento :)

Cuestiones relacionadas