인프런 커뮤니티 질문&답변

developer님의 프로필 이미지
developer

작성한 질문수

[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

_SliderBottom을 만들때 왜 VideoPlayerController를 바로 받으면 안되나요?

해결된 질문

작성

·

198

1

Slider를 _SliderBottom로 분리할때 (15:09정도) VideoPlayerController를 바로 주입하지 않고 maxPosition과 OnSliderChanged로 값을 넣고 있는데,

VideoPlayerController를 주입하면 안되나요??

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

바로라면 어떻게 말씀이실까요? 예제한번 보여주세요!

developer님의 프로필 이미지
developer
질문자

class _Slider extends StatelessWidget {
  final Duration currentPosition;
  final VideoPlayerController videoController;

  // final Duration maxPosition;
  // final ValueChanged<double> onSliderChanged;

  const _Slider({Key? key,
    required this.currentPosition, required this.videoController,})
      : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Positioned(
      bottom: 0,
      right: 0,
      left: 0,
      child: Padding(
        padding: const EdgeInsets.symmetric(horizontal: 8.0),
        child: Row(
          children: [
            Text(
              '${currentPosition.inMinutes}:${(currentPosition.inSeconds % 60)
                  .toString()
                  .padLeft(2, '0')}',
              style: const TextStyle(
                color: Colors.white,
              ),
            ),
            Expanded(
              child: Slider(
                value: currentPosition.inSeconds.toDouble(),
                onChanged: (double value) {
                  videoController.seekTo(Duration(seconds: value.
                  toInt()));},
                    max: videoController.value.duration.inSeconds.toDouble(),
                min: 0,
              ),
            ),
            Text(
              '${videoController.value.duration.inMinutes}:${(videoController.value.duration.inSeconds % 60)
                  .toString()
                  .padLeft(2, '0')}',
              style: const TextStyle(
                color: Colors.white,
              ),
            ),
          ],
        ),
      ),
    );
  }
}
developer님의 프로필 이미지
developer
질문자

이렇게요! 이렇게 해도 동작은 잘 되는 것 같았어요.

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

아~ 그렇게하셔도 문제는 없습니다!

정리의 차이정도라고 생각하시면 될 것 같습니다.

저같은경우 build 함수안에 함수 로직이 더 들어가는걸 별로 좋아하지 않는 스타일입니다!

하지만 이건 개개인의 취향같네요.

그래도 로직이 길어지면 가독성이 안좋아지니 따로 새 함수로 빼는걸 추천드립니다~

developer님의 프로필 이미지
developer
질문자

혹시 컨트롤러의 다른 특성이 있는건지 궁금했어요! 답변 감사합니다~

developer님의 프로필 이미지
developer

작성한 질문수

질문하기