Я делаю приложение на два раздела: один (верхний) - это PageView
область виджетов, другой (нижний раздел) - это Container
область виджетов. Я хочу, чтобы нижний раздел показывал «мы на X-странице», когда я меняю страницы в верхнем разделе.
Я попытался использовать index
виджета PageView в виджете «Контейнер», но консоль сказала «undefined name 'index'». Итак, я объявил как int index;
как глобальную переменную и попытался снова, но это не сработало. Я думаю, что этот index
отличается от index
виджета PageView.
import 'package:flutter/material.dart';
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
static final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
final controller = PageController(initialPage: 0);
var scrollDirection = Axis.horizontal;
var actionIcon = Icons.swap_vert;
int index;
@override
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldKey,
appBar: AppBar(
centerTitle: true,
title: Text('it\'s a drill for page view'),
),
body: _buildBody(),
);
}
Widget _buildBody() {
return SafeArea(
child: Column(
children: <Widget>[
Expanded(
child: PageView.builder(
controller: controller,
itemCount: 5,
itemBuilder: (context, index) {
return Text('it is ${index} page');
},
)
),
Expanded(
child: FittedBox(
fit: BoxFit.fitWidth,
child: Container(
color: Colors.blue,
child: Text('we are in ${index} page!'),
),
),
)
],
),
);
}
}
Я новичок в программировании и занимаюсь этим как хобби. Но мне это очень нравится. На самом деле, я отказался от учебы и карьеры и стал заниматься программированием. Надеюсь, вы поможете мне решить эту проблему. Спасибо. Я люблю вас.