मेरे पास इस तरह विस्तारित विजेट का एक कॉलम है:
return new Container(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
new Expanded(
flex: 1,
child: convertFrom,
),
new Expanded(
flex: 1,
child: convertTo,
),
new Expanded(
flex: 1,
child: description,
),
],
),
);
यह इस तरह दिख रहा है:
convertFrom
, एक TextField शामिल है। जब मैं इस टेक्स्ट फ़ील्ड पर टैप करता हूं, तो स्क्रीन पर एंड्रॉइड कीबोर्ड दिखाई देता है। इससे स्क्रीन का आकार बदल जाता है, इसलिए विजेट इस तरह आकार लेते हैं:
क्या स्क्रीन पर कीबोर्ड को "ओवरले" करने का एक तरीका है ताकि मेरा कॉलम आकार नहीं बदल सके? यदि मैं Expanded
विजेट्स और हार्डकोड का उपयोग प्रत्येक विजेट के लिए ऊँचाई पर नहीं करता हूँ, तो विजेट्स आकार नहीं देते हैं, लेकिन जब कीबोर्ड दिखाई देता है, तो मुझे ब्लैक-एंड-यलो स्ट्राइप्ड एरर मिलती है (क्योंकि पर्याप्त जगह नहीं है)। यह भी सभी स्क्रीन आकारों के लिए लचीला नहीं है।
मुझे यकीन नहीं है कि यह एक एंड्रॉइड-विशिष्ट या स्पंदन-विशिष्ट है।