silderView method

Widget silderView()

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,
                    )
                  ],
                ),
              ),
            ),
          ),
        );
      }),
    ),
  );
}