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)