1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import 'package:flutter/material.dart';
- import 'package:router/componentRouter/app_service.dart';
- import 'package:router/componentRouter/component_service_manager.dart';
- import 'package:shared/utils/log_utils.dart';
- class ResponsiveWidget extends StatelessWidget {
- final Widget? largeScreen;
- final Widget? mediumScreen;
- final Widget smallScreen;
- final Widget? smallFullScreen;
- const ResponsiveWidget({
- super.key,
- this.largeScreen,
- this.mediumScreen,
- this.smallFullScreen,
- required this.smallScreen,
- });
- @override
- Widget build(BuildContext context) {
- return LayoutBuilder(
- builder: (context, constraints) {
-
- if (constraints.maxWidth > 1200) {
- return largeScreen ?? smallScreen;
- }
-
- else if (constraints.maxWidth <= 1200 && constraints.maxWidth >= 800) {
- return mediumScreen ?? largeScreen ?? smallScreen;
- }
-
- else {
-
- final isFullScreen = ComponentServiceManager().appService.isDeviceFullScreen();
- Log.d("isFullScreen:$isFullScreen");
-
- if (isFullScreen) {
- return smallFullScreen ?? smallScreen;
- } else {
- return smallScreen;
- }
- }
- },
- );
- }
- }
|