GOOGLE ADS

domingo, 1 de mayo de 2022

Pellizcar para hacer zoom en la vista de lista en flutter

Así que estoy tratando de hacer un widget con pellizcar para hacer zoom en la vista de lista, la vista de lista contiene: contenedor que contiene texto. Así que básicamente puedes pellizcar para hacer zoom en toda la vista de lista. He investigado el visor interactivo flutter y la biblioteca de zoom, pero parece que no funciona.

De lo siguiente:

De esto

A lo siguiente:

A esto

Cualquier pensamiento n oraciones.


Solución del problema

¡Puedes pasar cualquier widget a esta clase y puedes hacer zoom en el widget como puedas!

import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:vector_math/vector_math_64.dart';
class ZoomableWidget extends StatefulWidget {
final Widget child;
const ZoomableWidget({Key? key, required this.child}): super(key: key);
@override
_ZoomableWidgetState createState() => _ZoomableWidgetState();
}
class _ZoomableWidgetState extends State<ZoomableWidget> {
double _scale = 1.0;
late double _previousScale;
@override
Widget build(BuildContext context) {
return ClipRect(
child: GestureDetector(
onScaleStart: (ScaleStartDetails details) {
_previousScale = _scale;
},
onScaleUpdate: (ScaleUpdateDetails details) {
setState(() {
_scale = _previousScale * details.scale;
});
},
onScaleEnd: (ScaleEndDetails details) {
_previousScale = 0;
},
child: Transform(
transform: Matrix4.diagonal3(Vector3(_scale.clamp(1.0, 5.0),
_scale.clamp(1.0, 5.0), _scale.clamp(1.0, 5.0))),
alignment: FractionalOffset.center,
child: widget.child, **add your listview here**
),
),
);
}
}

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...