यह एक पूरक उत्तर है जिसमें वर्णित समाधानों के एक जोड़े के कार्यान्वयन को दिखाया गया है।
FractionallySizedBox
यदि आपके पास एक एकल विजेट है तो आप FractionallySizedBoxभरने के लिए उपलब्ध स्थान का एक प्रतिशत निर्दिष्ट करने के लिए एक विजेट का उपयोग कर सकते हैं । यहां हरा Containerउपलब्ध चौड़ाई का 70% और उपलब्ध ऊंचाई का 30% भरने के लिए निर्धारित है।

Widget myWidget() {
return FractionallySizedBox(
widthFactor: 0.7,
heightFactor: 0.3,
child: Container(
color: Colors.green,
),
);
}
विस्तारित
Expandedविजेट एक विजेट उपलब्ध स्थान को भरने के लिए, क्षैतिज अगर यह एक पंक्ति में है, या खड़ी करता है, तो यह एक कॉलम में है की अनुमति देता है। आप flexउन्हें वजन देने के लिए कई विजेट के साथ संपत्ति का उपयोग कर सकते हैं । यहाँ पर हरे रंग Containerकी चौड़ाई 70% है और पीले रंग Containerकी चौड़ाई का 30% है।

यदि आप इसे लंबवत करना चाहते हैं, तो बस इसके Rowसाथ बदलें Column।
Widget myWidget() {
return Row(
children: <Widget>[
Expanded(
flex: 7,
child: Container(
color: Colors.green,
),
),
Expanded(
flex: 3,
child: Container(
color: Colors.yellow,
),
),
],
);
}
पूरक कोड
यहाँ main.dartआपके संदर्भ के लिए कोड है।
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("FractionallySizedBox"),
),
body: myWidget(),
),
);
}
}
// replace with example code above
Widget myWidget() {
return ...
}