silderView method
Implementation
Widget silderView() {
if (_isVideoCameraSelected) {
Future.delayed(
const Duration(milliseconds: 100),
() => pageController.animateToPage(1,
duration: const Duration(milliseconds: 100), curve: Curves.easeIn),
);
}
return SizedBox(
height: 20,
child: PageView.builder(
scrollDirection: Axis.horizontal,
controller: pageController,
onPageChanged: (index) {
if (isRecording) return;
_isVideoCameraSelected = modes.elementAt(index) == CameraMode.video;
setState(() {
currentModeIndex = index;
});
},
itemCount: modes.length,
itemBuilder: ((context, index) {
return AnimatedOpacity(
duration: const Duration(milliseconds: 300),
opacity: index == currentModeIndex ||
widget._controller.mode == CameraMode.video
? 1
: 0.5,
child: Center(
child: InkWell(
onTap: () {
if (isRecording) return;
_isVideoCameraSelected =
modes.elementAt(index) == CameraMode.video;
setState(() {
currentModeIndex = index;
});
pageController.animateToPage(index,
duration: const Duration(milliseconds: 300),
curve: Curves.easeIn);
},
child: Text(
modes[index].name.toUpperCase(),
style: const TextStyle(
color: Colors.white,
shadows: [
Shadow(
blurRadius: 4,
color: Colors.black,
)
],
),
),
),
),
);
}),
),
);
}