Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > FireMonkey
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 30-06-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Dependerá de cómo tengas montada la aplicación que estás desarrollando.
Se me ocurren 2 formas de hacerlo, pero como digo dependerá de los componentes que tengas; Podrías hacer una prueba a ver qué tal.

1) Por un lado se me ocurre que si tienes un ScrollBox (en este caso vertical), que sería el equivalente a lo que tiene WhatsApp, podrías utilizar el desplazamiento del ScrollBox.
Puedes saber si el scrollBox se mueve hacia arriba o hacia abajo. Puedes utilizar esa información para ocultar/visualizar el panel/toolbar superior.
si a eso le añades una "FloatAnimation" para que se oculte/visualize de forma suave, puedes conseguir lo que necesitas.


NOTA: En este ejemplo he utilizado 2 botones para que se pueda probar manualmente, pero no los necesitas. Puedes activar las animaciones (una para ocultar y otra para visualizar) directamente desde los eventos del ScollBox.






El evento de cambio sería:


Código Delphi [-]
procedure TForm3.VertScrollBox1ViewportPositionChange(Sender: TObject;
  const OldViewportPosition, NewViewportPosition: TPointF;
  const ContentSizeChanged: Boolean);
begin
  Label2.Text := Format('oldPosición=%f - Newposition=%f ', [OldViewportPosition.Y, NewViewportPosition.Y]);
  if NewViewportPosition.Y > OldViewportPosition.Y then begin
    // bajar
    Button2Click(nil);
  end
  else if NewViewportPosition.Y < OldViewportPosition.Y then begin
    Button1Click(nil);
  end;
end;


Y uno de los botones (el otro sería equivalente) sería:

Código Delphi [-]
procedure TForm3.Button1Click(Sender: TObject);
begin
  if Animando or Oculto then
    Exit;
  Animando := True;
  Oculto := True;
  FloatAnimationOcultar.Start;
end;


2) Otra opción es probar con el componente de GestureManager, para detectar estas en concreto y hacer lo mismo que desde los eventos del scrollbox.
Este no lo he usado, así que no te lo puedo asegurar al 100%.

Te adjunto el ejemplo anterior.
Archivos Adjuntos
Tipo de Archivo: zip ScrollAppWhatsApp.zip (56,2 KB, 6 visitas)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
whatsapp y Delphi 7 Carmelo Cash OOP 2 31-10-2018 21:16:02
¿Dónde conseguir componentes para Firemonkey? ¿Cómo véis a Firemonkey? dec FireMonkey 27 08-10-2016 17:49:19
Ventana estilo WhatsApp jars Varios 4 13-10-2014 19:34:42
Hacer un whatsapp en delphi JULIPO Internet 11 14-08-2013 08:09:26
Como Lograr el Efecto PopUp Menu del Messenger???? AGAG4 Varios 10 02-01-2008 18:49:10


La franja horaria es GMT +2. Ahora son las 07:30:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi