আমি উভয় Expanded
এবং Flexible
উইজেট ব্যবহার করেছি এবং তারা একই কাজ করে বলে মনে হচ্ছে। আমি যে দুটি মিস করেছি তার মধ্যে কি কোনও পার্থক্য আছে?
আমি উভয় Expanded
এবং Flexible
উইজেট ব্যবহার করেছি এবং তারা একই কাজ করে বলে মনে হচ্ছে। আমি যে দুটি মিস করেছি তার মধ্যে কি কোনও পার্থক্য আছে?
উত্তর:
Expanded
শুধুমাত্র একটি সংক্ষিপ্ত হাত Flexible
এইভাবে প্রসারিত ব্যবহার করে:
Expanded(
child: Foo(),
);
এর সাথে কঠোর সমান:
Flexible(
fit: FlexFit.tight,
child: Foo(),
);
আপনি ব্যবহার করতে পারেন Flexible
উপর Expanded
যখন আপনি একটি ভিন্ন চান fit
, কিছু প্রতিক্রিয়াশীল লেআউট দরকারী।
FlexFit.tight
এবং এর মধ্যে পার্থক্যটি FlexFit.loose
হ'ল আলগাটি তার শিশুকে সর্বোচ্চ আকার ধারণ করতে দেয় যখন কড়া শিশুটিকে সমস্ত উপলব্ধ স্থান পূরণ করতে বাধ্য করে।
Maximum size
এবং Available space
এখানে একই জিনিস মানে?
Flexible.tight
বাচ্চাদের উপলব্ধ পুরো জায়গা নিতে বাধ্য Flexible.loose
করবে এবং বাচ্চাদের তারা যা চায় তা করতে দেবে। কিছু বাচ্চারা তাদের জায়গা কী হবে তা নির্ভর করে পুরো জায়গা ধরে নিতে পারে এবং কিছু নাও পারে।
নমনীয়তার অধীনে উইজেটগুলি ডিফল্টভাবে Wrap_CONTENT হয় যদিও আপনি প্যারামিটার ফিট ব্যবহার করে এটি পরিবর্তন করতে পারেন।
অধীনে উইজেট সম্প্রসারিত হয় MATCH_PARENT আপনি ব্যবহার তা পরিবর্তন করতে পারেন আনমন ।
Expanded
- এটা Flexible
সেট ফিট সঙ্গে
class Expanded extends Flexible {
const Expanded({
Key key,
int flex = 1,
@required Widget child,
}) : super(
key: key,
flex: flex,
fit: FlexFit.tight,
child: child
);
}
সারি এবং কলামগুলিতে উইজেটগুলির আকার পরিবর্তন করতে আপনি নমনীয় ব্যবহার করতে পারেন । এটি মূলত তাদের পিতামাত উইজেটের সাথে সম্পর্ক রেখে বিভিন্ন শিশু উইজেটের স্থান সামঞ্জস্য করতে ব্যবহৃত হয়।
এদিকে, সারি এবং কলামের বাচ্চাদের কাছে প্রেরিত সীমাবদ্ধতাগুলি প্রসারিত পরিবর্তনগুলি ; এটি সেখানে উপলব্ধ স্থানগুলি পূরণ করতে সহায়তা করে। অতএব, আপনি যখন আপনার বাচ্চাকে একটি প্রসারিত উইজেটে মুড়িয়ে রাখেন তখন এটি খালি জায়গাগুলি পূরণ করে।
লোকদের সাহায্যের জন্য কেবল ফ্লটারের অফিসিয়াল ইউটিউব চ্যানেল থেকে এই ভিডিওগুলি সরবরাহ করা , যারা আসন্ন ভবিষ্যতে এটি সন্ধান করতে পারে ...
প্রসারিত () এর সাথে ফ্লেক্সিবল () ছাড়া আর কিছুই নয়
Flexible (fit: FlexFit.tight) = Expanded()
কিন্তু, নমনীয়ভাবে fit :FlexFit.loose
ডিফল্টরূপে ব্যবহার করে।
FlexFit.tight = যতটা সম্ভব জায়গা নিয়ে পিতামাতার সাথে আঁটসাঁটে ফিট রাখতে চায়।
ফ্লেক্সফিট.লুজ = নিজের পক্ষে যথাসম্ভব অল্প জায়গা নিয়ে পিতামাতার মধ্যে loose িলে .ালা ফিট করতে চায়।
Flexible
পরিবর্তে আপনি যদি ব্যবহার করেন তবে তফাতটি Expanded
হ'ল Flexible
তার সন্তানের Flexible
নিজের চেয়ে তার প্রস্থের সমান বা ছোট প্রস্থ থাকতে দেয়, যখন Expanded
তার শিশুটিকে যথাযথ একই প্রস্থের জন্য বাধ্য করে Expanded
। তবে উভয় Expanded
এবং Flexible
নিজের আকারের আকার দেওয়ার সময় তাদের বাচ্চার প্রস্থকে উপেক্ষা করুন।
Row(children:[
Flexible(
child: Container(color: Colors.red, child: Text('This is a very long text that won’t fit the line.'))),
Flexible(
child: Container(color: Colors.green, child: Text(‘Goodbye!’))),
]
)
দ্রষ্টব্য : এর অর্থ এই যে Row
আকারে আনুপাতিকভাবে শিশুদের প্রসারিত করা অসম্ভব । সারিটি হ'ল সন্তানের প্রস্থটি ব্যবহার করে Expanded
বা আপনি যখন ব্যবহার করেন বা ব্যবহার করেন তখন তা একেবারেই উপেক্ষা করে Flexible
।
flex
ফ্যাক্টরটিকে সম্মান করে সমস্ত উপলব্ধ স্থান নেয় । আরও তথ্যের জন্য উইজেটের ডক্সExpanded
দেখুন ।