Flutter Pulse
550 subscribers
361 photos
795 links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Воспроизведение видео на весь экран
Покажите полноэкранное видео с правильным соотношением сторон 🤩

Чтобы показать видео на весь экран с сохранением правильного соотношения сторон, следуйте этим простым шагам:

1. Установите пакет video_player 📦
2. Встройте видеоплеер внутрь виджета VideoContainer 📺

Обеспечьте, чтобы содержимое занимало весь экран 📱

return Scaffold(
appBar: AppBar(
backgroundColor: Colors.transparent,
elevation: 0,
),
extendBodyBehindAppBar: true,
body: Stack(
children: [
Positioned.fill(
child: GestureDetector(
onTap: () => videoListener?.pauseOrResume(),
child: VideoContainer.fromController(_controller!),
),
),
],
),
);


Код виджета VideoContainer:

import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';

class VideoContainer extends StatelessWidget {
final Widget child;
final double ratio;
final Size contentsSize;

const VideoContainer({
super.key,
required this.child,
required this.ratio,
required this.contentsSize,
});

factory VideoContainer.fromController(VideoPlayerController controller) =>
VideoContainer(
ratio: controller.value.aspectRatio,
contentsSize: controller.value.size,
child: VideoPlayer(controller),
);

@override
Widget build(BuildContext context) {
return FittedBox(
fit: BoxFit.cover,
child: AspectRatio(
aspectRatio: ratio,
child: child,
),
);
}
}


Оцените новую рубрику FlutterPulseTips 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips

#flutter #dart #flutterpulse #FlutterPulseTips #mobiledev #appdev #codingtips #uiux #videostreaming #fullscreenvideo
👍1