Spanish [COMPLETADO] Ocultar teclado con jfeinstein10 SlidingMenu library

tomky

Active Member
Licensed User
Hola.
Estoy utilizando la librería jfeinstein10 SlidingMenu, y no consigo ocultar el teclado cuando uno esta rellenando un Editext y desliza con el dedo y abre el SlidingMenu. Cosa rara, pero bueno...

He utilizado lo que dice Erel y no me ha funcionado, o no lo he sabido aplicar:
B4X:
Dim jo AsJavaObject = sm
Dim event As Object = jo.CreateEventFromUI("com.jeremyfeinstein.slidingmenu.lib.SlidingMenu$OnOpenListener", "Open", Null)
jo.RunMethod("setOnOpenListener", Array(event))End Sub
Sub Open_Event (MethodName AsString, Args() As Object) As ObjectLog("Opened!")
End Sub

¿Alguna sugerencia?
¿Qué eventos tiene esta librería?

Gracias.
 
Last edited:

Myr0n

Active Member
Licensed User
Longtime User
En el tutorial que esta aqui, como ejemplo, en el evento lv1_ItemClick hay un
sm.HideMenus que es el que se utiliza para esconder el menu definido como sm.

Los eventos los puedes ver escribiendo en una nueva linea tu definicion de menu, en el ejemplo es sm y le agregas un punto al final que quedaría asi: sm.


Consejo, utiliza el rapid debugging que el tutorial lo puedes encontrar aqui, para ver la ejecución del programa del tutorial, asi aprenderas como realmente funciona.

Si consideras que esta resuelta tu pregunta, por favor marca el titulo de esta pregunta al inicio como [SOLUCIONADO]
Para que otros que andan en busca de respuestas se beneficien.
 

tomky

Active Member
Licensed User
Gracias Myron, pero lo que yo busco es un evento del SlidingMenu que diga que se ha abierto, para ocultar el teclado.
Ya conozco ese método que hay tras el punto para ocultar-cerrarlo: sm.HideMenus.
Falta que detecte el momento.
¿Quizás con If lvl1.visible?
 
Last edited:

Myr0n

Active Member
Licensed User
Longtime User
Segun lo que @Erel menciona en el post #45 funciona muy bien,

Agrega estas lineas despues de haber definido tu SlidingMenu

B4X:
Dim jo As JavaObject = sm
  Dim event As Object = jo.CreateEventFromUI("com.jeremyfeinstein.slidingmenu.lib.SlidingMenu$OnOpenListener", "Open", Null)
  jo.RunMethod("setOnOpenListener", Array(event))

Luego agrega este sub que ocultara el teclado, justamente despues que se muestre el menu.

B4X:
Sub Open_Event (MethodName As String, Args() As Object) As Object
    IME.HideKeyboard 'Ocultar teclado
       Log("Opened!")
End Sub

.-
 

tomky

Active Member
Licensed User
Vaya pensaba que lo tenía solucionado, pero no.
Ni siquiera me muestra el log.
¿Tiene algo que ver con las rutas?
 

tomky

Active Member
Licensed User
Vaya.
Parece ser que solamente funciona con el slider izquierdo.
O sea:
sm.Mode = sm.LEFT en la definición del SlidingMenu. :(
 

Myr0n

Active Member
Licensed User
Longtime User
El codigo para el derecho es algo similar, seria asi:
B4X:
Dim jo2 As JavaObject = sm
  Dim event As Object = jo2.CreateEventFromUI("com.jeremyfeinstein.slidingmenu.lib.SlidingMenu$OnOpenListener", "Open2", Null)
  jo2.RunMethod("setSecondaryOnOpenListner", Array(event))

y agregas este otro sub

B4X:
Sub Open2_Event (MethodName As String, Args() As Object) As Object
    IME.HideKeyboard
       Log("Open2!") 
End Sub

Si consideras que esta resuelta tu pregunta, por favor marca el titulo de esta pregunta al inicio como [SOLUCIONADO]
Para que otros que andan en busca de respuestas se beneficien.

Si tienes otra pregunta que NO este relacionado con este tema, por favor, abre otro nuevo thread.

Gracias.
 
Last edited:

Myr0n

Active Member
Licensed User
Longtime User
Utiliza :
sm.Mode = sm.BOTH

Por cierto, la pregunta de este hilo, podemos decir que ya esta solucionado Post #7 y lo del Post #8, se podria considerar como un nuevo hilo.
 

tomky

Active Member
Licensed User
Perdona Myron, si funciona así el lado derecho sm.Mode = sm.RIGHT como dices.
Me estaba liando porque tenía abierto 2 veces el mismo archivo del activity.
Y había dicho aunque ya lo borré que no funcionaba, pero sí.
Gracias.
 

tomky

Active Member
Licensed User
Quizás Myron, pero están relacionados.
Uno controla el lado izquierdo y el post 7 el lado derecho del SlidingMenu.
Saludos
 
Last edited:
Top