|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica   ADB Shell - Android Arduino
   AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


Nuevo concurso para España, Argentina, Brasil, Chile, Colombia, Ecuador, México, Perú y Portugal.

B4A en español - Juan Antonio Villalpando
(BASIC4Android)

-- Tutorial de B4A --

Volver al índice del tutorial

____________________________

34C.- Arrastrar y soltar Imagen. PinchZomAndMove.

- Tutoriales. Arrastrar y soltar Imagen. PinchZoomAndMove.

- Presentación.

Otra manera de mover imágenes por la pantalla es utilizando la clase PinchZoomAndMove.

La puedes obtener del foro de B4A.

Aquí hay un ejemplo llamado basket.zip donde también se encuentra esa clase.

Una clase es un trozo de código que se escribe en...

Project / Add New Module / Class Module

En nuestro caso se llama PinchZoomAndMove.

Un módulo en un código que puede hacer ciertas funciones, en nuestro caso arrastrar una imagen.

____________________________
- Vamos al B4A.

- Creamos un nuevo Proyecto, por ahora vacío.

- Creamos una clase llamada PinchZoomAndMove.

Project / Add New Module / Class Module

y copiamos el código de PinchZoomAndMove, que puedes encontrar en el foro de B4A.

Vamos a modificar el código que hemos copiado...

Vamos a la parte de Case G.ACTION_UP y modificamos...

Case G.ACTION_UP
        
        '''' Modificamos esto
        LayoutChange.Tag = vTag
        LayoutChange.Height = obj.Height
        LayoutChange.Width = obj.Width
        LayoutChange.Left = obj.Left
        LayoutChange.Top = obj.Top
        
        CallSubDelayed2(vModule,"SOLTAR",LayoutChange)

Bien, ahora vamos a la parte del código de Main. Copiamos lo mismo de la aplicación que hemos bajado de  el foro de B4A.

Al final del código de Main, copiamos esta subrutina...

Sub SOLTAR (LayoutChange As LayoutData)

Log("Imagen = " & LayoutChange.Tag)
Log("Alto = " & LayoutChange.Height)
Log("Ancho = " & LayoutChange.Width)
Log("X = " & LayoutChange.Left)
Log("Y = " & LayoutChange.Top)

End Sub
 

En la carpeta Files del proyecto debemos tener las imágenes, que deben ser nombradas, en este caso:

avatar_0.png, avatar_1.png, avatar_2.png y avatar_3.png

Es decir, las imágenes deben tener un nombre común y luego un número comenzando por cero.

_________________________

- Comentarios.

Podemos mover las imágenes por la pantalla.

Podemos hacer un zoom con los dedos.

Se mostrará en la zona del Log, los datos de posición, número de imagen y dimensiones.

Mediante el Menú podemos hacer que la imagen no tenga permitido el zoom o el movimiento. Y volverlo a su tamaño normal.

_____________________

Movemos la imagen y la introducimos en un cuadrado.

El cuadrado enmarcado en rojo y fondo negro es el ImageView1.
Dimensiones 140 x 140.

Cuando arrastaramos una figura y las situamos dentro del cuadrado, saldrá el mensaje de "Dentro".

A las imágenes se le puede hacer zoom.

Podemos ver varias posibilidades en el Menú.

Podemos hacer una ampliación de este código que consiste en que debemos mover la imagen hacia un sitio cerrado, por ejemplo un cuadrado, cuando la imagen esté dentro del cuadrado, se mostrará el mensaje "Dentro".

Para ello debemos conocer el tamaño y posición del cuadrado (ImageView1) y de la imagen que vamos a mover.

Agregamos un Layout con un ImageView1, de imagen ponemos un cuadrado, dimensiones 140 x 140.

Ponemos este código para hacer la comparación...

If vTouchData.X > ImageView1.left AND vTouchData.X < ImageView1.left + ImageView1.width - LayoutChange.Width AND vTouchData.Y > ImageView1.top AND vTouchData.Y < ImageView1.top + ImageView1.height - LayoutChange.Height Then

ToastMessageShow("Dentro",False)

End If

________________________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información