Chcę użyć PageView.Builder w trzeprzewu, aby nawigować na stronę do innej strony. Jak wdrożyć go do mojego kodu?

Oto mój kod

...      
List<StatefulWidget> pages = [
        HomePage(),
        ListDoaPage(),
        QiblatPage(),
        FavPage()
      ];
    
      PageController controller = PageController();
    
      int _selectedIndex = 0;
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          home: Scaffold(
            extendBody: true,
            body: PageView.builder(
                itemCount: 4,
                controller: controller,
                onPageChanged: (page) {
                  setState(() {
                    _selectedIndex = page;
                  });
                },
                itemBuilder: (context, position) {
                  return 
                  // ????
                  ;
                }),
    ...

Wynikiem, który chcę być taki

enter image description here

Dziękuję Ci :)

0
Bill Rei 16 kwiecień 2021, 04:45

1 odpowiedź

Najlepsza odpowiedź

Po prostu umieść swoją stronę w ItemBuilder:

List<StatefulWidget> pages = [
        HomePage(),
        ListDoaPage(),
        QiblatPage(),
        FavPage()
      ];
    
      PageController controller = PageController();
    
      int _selectedIndex = 0;
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          home: Scaffold(
            extendBody: true,
            body: PageView.builder(
                itemCount: 4,
                controller: controller,
                onPageChanged: (page) {
                  setState(() {
                    _selectedIndex = page;
                  });
                },
                itemBuilder: (context, position) {
                  return pages[position];
                }),
1
Jim Chiu 16 kwiecień 2021, 02:03