Spanish B4A- Imagen en la barra de titulo

ferpahud

Active Member
Licensed User
Hola buenos días, quería saber como colocar una imagen en la barra donde se coloca el titulo de la aplicación.
No se exactamente que nombre tiene, pero por ejemplo cuando uno entra al detalle de un contacto de whatsapp aparece el nombre del contacto y de fondo su foto de perfil, y cuando haces scroll se va agrandando la foto o achicando hasta desaparecer, según en que dirección lo hagas.

Dejo una imagen que encontré en internet para que me entiendan mejor:


Se puedo hacer eso en B4A?

Desde ya muchas gracias
 

Descartex

Well-Known Member
Licensed User
Longtime User
si, se puede hacer.
Es tan facil como colocar el contenido del perfil en un layout y ese layout cargarlo en un scrollview.
algo asi:
B4X:
ScrollView1.Panel.LoadLayout("LayoutPerfil")
Saludos.
 

ferpahud

Active Member
Licensed User
Hola, gracias por tu respuesta. Creo que no me supe explicar, no quiero que se pueda ir scrolleando, quiero que cuando se haga scroll se oculte la imagen de cabecera, como muestra la imagen que deje de ejemplo.
Si puedes observar la imagen se va escondiendo, como si fuese tapada por el color de fondo y por el nombre del contacto, en este caso "Ali Connors"
 

JordiCP

Expert
Licensed User
Longtime User
Lo que pides (que la cabecera se pueda colapsar de manera "animada" moviendo y cambiando de tamaño algunos componentes) está soportado en Android. Pertenece a la librería DesignSupport y es el CoordinatorLayout y CollapsingToolbarLayout (creo que el segundo hace uso del primero)

A día de hoy (que yo sepa) no está disponible para B4A. Hay algún post de @corwin42 ,con su libreria DesignSupport, de que está trabajando al respecto, pero parece que es bastante o muy complicado.
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola

Coloca la imagen, la barra, los tres puntos y lo que necesites en un panel, luego cuando muevas el scroll de abajo haces la altura mas grande o pequeña del panel hasta alcanzar el máximo que tu quieras y el mínimo para la barra de cabecera.

B4X:
Sub NombreEvento_ScrollChanged(Position As Int)

' aqui puedes agrandar o reducir el panel

if position> PositionOld then
  '  Se está bajando en el scroll (ampliar panel)
Else
  '  Se está Subiendo en el scroll (disminuir panel)
End if

PositionOld = position

End Sub

En position te viene la posición del scroll, si la guardas en una variable global (PositionOld) sabras si sube o baja comparandola con lo que te devuelve el evento.


Saludos
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…