feat: Android TV support (#503)

Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
PartyDonut 2025-09-28 21:07:49 +02:00 committed by GitHub
parent 7ab8c015b9
commit c299492d6d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
168 changed files with 12019 additions and 3073 deletions

View file

@ -0,0 +1,42 @@
import 'package:flutter/material.dart';
class MediaQueryScaler extends StatelessWidget {
final Widget child;
final bool enable;
final double scale;
const MediaQueryScaler({
required this.child,
required this.enable,
this.scale = 1.35,
super.key,
});
@override
Widget build(BuildContext context) {
if (!enable) return child;
final mediaQuery = MediaQuery.of(context);
final screenSize = MediaQuery.sizeOf(context) * scale;
final scaledMedia = mediaQuery.copyWith(
navigationMode: NavigationMode.directional,
size: screenSize,
padding: mediaQuery.padding * scale,
viewInsets: mediaQuery.viewInsets * scale,
viewPadding: mediaQuery.viewPadding * scale,
devicePixelRatio: mediaQuery.devicePixelRatio * scale,
);
return FittedBox(
alignment: Alignment.center,
child: SizedBox(
width: screenSize.width,
height: screenSize.height,
child: MediaQuery(
data: scaledMedia,
child: child,
),
),
);
}
}