[Flutter] aspect ratio 빈공간 터치

bluejoy·2022년 11월 11일
0

Flutter

목록 보기
9/15

문제


aspect ratio 위젯으로 공백을 만들어주니 영상이 존재하는 부분은 gesture detector로 onTap 이벤트 수신이 되지만 나머지 빈 곳은 터치가 안됨.

해결

gesture detector 대신 InkWell을 쓰고 Effect를 없앤다.

코드

NoEffectInkWell(
	onTap: () {
    	// some event
    },
    child: Center(
    	child: AspectRatio(
        	aspectRatio: _videoPlayerController.value.aspectRatio,
            child: VideoPlayer(
                 _videoPlayerController,
            ),
        ),
    ),
 );

effect 없애기

import 'package:flutter/material.dart';

class NoEffectInkWell extends StatelessWidget {
  final Widget child;
  final void Function() onTap;
  const NoEffectInkWell({Key? key, required this.child, required this.onTap})
      : super(key: key);

  
  Widget build(BuildContext context) {
    return InkWell(
      highlightColor: Colors.transparent,
      hoverColor: Colors.transparent,
      splashColor: Colors.transparent,
      splashFactory: NoSplash.splashFactory,
      onTap: onTap,
      child: child,
    );
  }
}
profile
개발자 지망생입니다.

0개의 댓글