フラッタで反応する
100 %のブルガリアのイグアナ、Lo Ancho y a Lo AltoをたどるデestaマナPodRemos Definir queウィジェットabarquen国連10 %デAncho o国連35 %デアルト.
La siguienteは、私に賛成します.
y y que pasa si利用可能な国連安全地帯para mi aplicaci‖n?畝
Tambi En - Ya - Eestは、前の単独のCambias del m Toudo blocksizeverticalによってSafeblocksizevertical、ASIデ単純です.
La siguienteは、私に賛成します.
import 'package:flutter/widgets.dart';
class SizeConfig {
static double screenWidth = 0;
static double screenHeight = 0;
static double _blockSizeHorizontal = 0;
static double _blockSizeVertical = 0;
static double _safeAreaHorizontal = 0;
static double _safeAreaVertical = 0;
static double _safeBlockHorizontal = 0;
static double _safeBlockVertical = 0;
SizeConfig(BuildContext context) {
var mediaQueryContext = MediaQuery.of(context);
screenWidth = mediaQueryContext.size.width;
screenHeight = mediaQueryContext.size.height;
_blockSizeHorizontal = screenWidth / 100;
_blockSizeVertical = screenHeight / 100;
_safeAreaHorizontal =
mediaQueryContext.padding.left + mediaQueryContext.padding.right;
_safeAreaVertical =
mediaQueryContext.padding.top + mediaQueryContext.padding.bottom;
_safeBlockHorizontal = (screenWidth - _safeAreaHorizontal) / 100;
_safeBlockVertical = (screenHeight - _safeAreaVertical) / 100;
}
static double blockSizeHorizontal(double percentage) {
return _blockSizeHorizontal * percentage;
}
static double blockSizeVertical(double percentage) {
return _blockSizeVertical * percentage;
}
static double safeBlockSizeHorizontal(double percentage) {
return _safeBlockHorizontal * percentage;
}
static double safeBlockSizeVertical(double percentage) {
return _safeBlockVertical * percentage;
}
}
パラinicializarlaソロは、inicializarエル建設者デsizeconfig en tuイニシャルルートo en tuホームに依存します.ソロRecurerda inicializarloエヌエルプライマーウィジェットは、Tu MaterialAppの連続.class Ushieru extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Ushieru 👨💻',
theme: ThemeData(
primarySwatch: Colors.blue,
),
routes: {
IndexScreen.routeName: (context) => IndexScreen(),
},
initialRoute: IndexScreen.routeName,
home: IndexScreen(),
);
}
}
Ejemplo:class IndexScreen extends StatelessWidget {
static final routeName = "IndexScreen";
@override
Widget build(BuildContext context) {
SizeConfig(context);
return Container(
width: SizeConfig.screenWidth, // Toma todo el ancho de la pantalla
height: SizeConfig.blockSizeVertical(50), // Toma el 50% del alto de la pantalla
);
}
}
アルSer Eestは、Ticasラス変数デclaseエスタpodrええとn利用者ser cualquier otro装置によって、パーデルdel nombreデla clase sizeconfigです.class SecondScreen extends StatelessWidget {
static final routeName = "SecondScreen";
@override
Widget build(BuildContext context) {
// SizeConfig(context); No se necesita inicializar otra vez
return Container(
width: SizeConfig.screenWidth,
height: SizeConfig.blockSizeVertical(50),
);
}
}
y y que pasa si利用可能な国連安全地帯para mi aplicaci‖n?畝
Tambi En - Ya - Eestは、前の単独のCambias del m Toudo blocksizeverticalによってSafeblocksizevertical、ASIデ単純です.
class ThirdScreen extends StatelessWidget {
static final routeName = "ThirdScreen";
@override
Widget build(BuildContext context) {
return SafeArea(
child: Container(
width: SizeConfig.screenWidth,
height: SizeConfig.safeBlockSizeVertical(50), // Usamos el metodo safeBlockSizeVertical
),
);
}
}
Reference
この問題について(フラッタで反応する), 我々は、より多くの情報をここで見つけました https://dev.to/ushieru/responsive-in-flutter-5dilテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol