Saltar al contenido

¿Cómo desplazarse o saltar a la posición de PageView.builder o PageController en Flutter?

Posteriormente a buscar en diversos repositorios y sitios webs finalmente descubrimos la respuesta que te enseñamos pronto.

Solución:

Finalmente encontré la respuesta. Solo configura el pagina inicial:mPosiciónSeleccionada attribute me gusta:

child: PageView.builder(
        itemCount: mTemplateModelList.length,
        controller: PageController(initialPage: mSelectedPosition, keepPage: true, viewportFraction: 1),
        itemBuilder: (BuildContext context, int itemIndex) 
          return _buildCarouselItem(context, selectedIndex, itemIndex);
        ,
      ),

O si desea desplazarse por la página después de hacer clic en el botón, puede usar Salta a() método usando controlador de página que se menciona claramente a continuación por otro usuario: @android.

Puedes usar Salta a() método para desplazar la posición de Vista de pagina. He creado un método changePageViewPostion() en el siguiente ejemplo:

import 'package:flutter/material.dart';

class MyPageView extends StatefulWidget 
  createState() 
    return StateKeeper();
  


class StateKeeper extends State 

  PageController controller = PageController(viewportFraction: 1, keepPage: true);
  var currentPageValue = 0.0;
  var mItemCount = 10;

  @override
  void initState() 
    // TODO: implement initState
    super.initState();
    controller.addListener(() 
      setState(() 
        currentPageValue = controller.page;
      );
    );
  

  void changePageViewPostion(int whichPage) 
    if(controller != null)
      whichPage = whichPage + 1; // because position will start from 0
      double jumpPosition = MediaQuery.of(context).size.width / 2;
      double orgPosition = MediaQuery.of(context).size.width / 2;
      for(int i=0; i[

                Center(
                  child: Text(
                    "Page " + (position + 1).toString(),
                    style: TextStyle(color: Colors.white, fontSize: 22.0),
                  ),
                ),

                Align(
                  alignment: FractionalOffset.bottomCenter,
                  child: Padding(padding: EdgeInsets.only(bottom: 20),
                    child: FloatingActionButton(
                        elevation: 0.0,
                        child: new Icon(Icons.check),
                        backgroundColor: new Color(0xFFE57373),
                        onPressed: ()
                          changePageViewPostion(5);
                        
                    ),),
                ),

              ],
            ),
          );
        ,
        itemCount: mItemCount,
      )
    );
  



Podemos obtener la posición actual con el controlador de la siguiente manera:

controller.addListener(() 
      setState(() 
        currentPageValue = controller.page.toInt();
        print((currentPageValue + 1).toString());
      );
    );

Espero eso ayude 🙂

Ten en cuenta dar visibilidad a esta división si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *