roto - reparar flex de grafito
Flex previene que el teclado suave se cierre (2)
Tengo una aplicación móvil de AIR con un diseño simple:
<s:layout><s:VerticalLayout /></s:layout>
<s:TextArea width="100%" height="100%" />
<HGroup width="100%" >
<s:Button label="button" />
<s:Button label="button" />
<s:Button label="button" />
</HGroup>
La aplicación está configurada para cambiar el tamaño cuando se abre el teclado virtual configurando resizeForSoftKeyboard = "true" en la aplicación principal. TextArea usa la máscara predeterminada de Flex 4.6.
Mi problema es que si el usuario abre el teclado escribiendo texto en mi área texA, no podrá hacer clic en los botones debajo de TextArea, porque tan pronto como intente hacer clic en un botón, el teclado virtual se reducirá (porque se enfocará de TextArea?) e inmediatamente se abre de nuevo (porque la posición MouseDown está ahora encima de TextArea?).
¿Cómo puedo evitar que se cierre el teclado virtual para que el usuario pueda hacer clic en los botones que se encuentran entre TextArea y el teclado?
Gracias
Tal vez agregue un evento para que aparezca el teclado cuando se haga clic en el botón, es decir, en el controlador de evento de clic de ese botón.
También (y no lo he probado yo mismo), pero en el evento de desactivación del teclado para esa vista, agregue event.preventDefault ()
Brian
Esto es muy extraño. Intenté ejecutar tu programa yo mismo, y no tengo ningún problema en absoluto:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" applicationDPI="320" resizeForSoftKeyboard="true">
<s:layout><s:VerticalLayout /></s:layout>
<s:TextArea width="100%" height="100%" />
<s:HGroup width="100%" >
<s:Button label="button" click="trace(''clicked'')"/>
<s:Button label="button" click="trace(''clicked'')" />
<s:Button label="button" click="trace(''clicked'')" />
</s:HGroup>
</s:Application>
El teclado se abre cuando toco el área de texto, se cierra cuando hago clic en un botón (sin abrir nuevamente) y los clics aparecen en la consola cuando se depura.
No publicaste la aplicación completa, ¿tienes algo en el programa completo que yo no tenga? En ese caso, vería si algo de eso pudiera interferir con la UI.