Posizionare in un angolo
Fa parte della sezione Layout adattabili del percorso Flutter di Coddy. Lezione 11 di 30.
I figli di uno Stack partono dall'angolo in alto a sinistra. Per posizionarne uno altrove, racchiudilo in Positioned e indica la distanza dai bordi:
Stack(
children: [
Container(height: 200, color: Colors.grey),
const Positioned(
bottom: 8,
left: 8,
child: Text('Bottom left'),
),
],
)top:, bottom:, left: e right: sono distanze in pixel da quel bordo dello Stack. Indica un lato per ogni direzione: top o bottom, e left o right.
Un elemento figlio Positioned non modifica le dimensioni dello Stack. È comunque la foto a determinarne le dimensioni.
Sfida
FacileSposta il badge SALE nell'angolo in alto a destra della foto, a 12 pixel dall'alto e a 12 da destra.
Provalo tu
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(title: const Text('Shop')),
body: Padding(
padding: const EdgeInsets.all(16),
child: Column(
children: [
Stack(
children: [
Container(
height: 200,
color: Colors.blueGrey.shade100,
child: const Center(child: Icon(Icons.image, size: 64)),
),
Container(
padding: const EdgeInsets.all(8),
color: Colors.red,
child: const Text('SALE', style: TextStyle(color: Colors.white)),
),
],
),
const SizedBox(height: 12),
const Text('Running shoes', style: TextStyle(fontSize: 20)),
],
),
),
),
);
}
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Layout adattabili
1Condividere una riga
Expanded riempie la rigaCondividere lo spazio con flexFlexible si adatta al suo elemento figlioSpacer tiene gli elementi separati3Sovrapporre i widget
Sovrapporre i widget in altoPosizionare in un angoloAllineare dentro un riquadroSafeArea e la taccaEsercitati da solo: Compilatore Flutter online