Saya ingin tahu bagaimana cara mengatur lebar agar sesuai dengan induk lebar tata letak
new Container(
width: 200.0,
padding: const EdgeInsets.only(top: 16.0),
child: new RaisedButton(
child: new Text(
"Submit",
style: new TextStyle(
color: Colors.white,
)
),
colorBrightness: Brightness.dark,
onPressed: () {
_loginAttempt(context);
},
color: Colors.blue,
),
),
Saya tahu sedikit tentang Expanded
widget tetapi Expanded
memperluas tampilan ke kedua arah, saya tidak tahu bagaimana melakukannya.
flutter
flutter-layout
Mohit Suthar
sumber
sumber
Jawaban:
Solusi yang tepat adalah dengan menggunakan
SizedBox.expand
widget, yang memaksakannyachild
agar sesuai dengan ukuran induknya.Ada banyak alternatif, yang memungkinkan lebih banyak atau lebih sedikit penyesuaian:
atau menggunakan
ConstrainedBox
sumber
Failed assertion: line 1645 pos 12: '!_debugDoingThisLayout': is not true.
Atribut ukuran dapat diberikan menggunakan
ButtonTheme
denganminWidth: double.infinity
atau setelah https://github.com/flutter/flutter/pull/19416 mendarat
sumber
sumber
Cara termudah adalah dengan menggunakan
FlatButton
bungkus di dalam aContainer
, Tombol secara default mengambil ukuran induknya dan menetapkan lebar yang diinginkan keContainer
.Keluaran:
sumber
Setelah beberapa penelitian, saya menemukan beberapa solusi, dan terima kasih kepada @ Günter Zöchbauer,
Saya menggunakan kolom, bukan Container dan
atur properti ke kolom CrossAxisAlignment.stretch ke Fill match parent of Button
sumber
Column
/Row
tidak boleh digunakan untuk tata letak anak tunggal. Gunakan alternatif anak tunggal sebagai gantinya. SepertiAlign
,SizedBox
, dan yang sejenis.Anda dapat mengatur orang tua yang cocok dari widget dengan
1) setel lebar menjadi double.infinity :
2) Gunakan MediaQuery:
sumber
@Bayu_joo
Menemukan salah satu solusi terbaik untuk mencocokkan induk dengan lebar dan tinggi seperti di bawah ini
Di sini Anda dapat memeriksa bahwa
Expanded
Pengontrol memperoleh lebar dan tinggi sisa .sumber
Ini berhasil untuk saya.
Cara termudah untuk memberikan lebar atau tinggi orang tua yang cocok dalam kode yang diberikan di atas.
sumber
Untuk
match_parent
Anda bisa menggunakanUntuk nilai tertentu yang dapat Anda gunakan
sumber
Kode berikut bekerja untuk saya
sumber
Ini berfungsi untuk saya di widget mandiri.
sumber
Ini bekerja untuk saya.
sumber
Menggunakan a
ListTile
juga berfungsi dengan baik, karena daftar memenuhi seluruh lebar:sumber
Anda dapat melakukannya dengan MaterialButton
sumber
sumber
Yang ini berhasil untuk saya
sumber
RaisedButton( child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [Text('Submit')], ) )
Ini bekerja untuk saya.sumber
Pendekatan paling dasar adalah menggunakan Container dengan mendefinisikan lebarnya menjadi tak terbatas. Lihat contoh kode di bawah ini
sumber
Sesuatu seperti ini berhasil untuk saya.
sumber
Tempatkan Anda
RaisedButton(...)
diSizedBox
sumber