আমি উভয় 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দেখুন ।