const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'DraggableScrollable',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatelessWidget {
const MyHomePage({super.key, required this.title});
final String title;
@override
Widget build(BuildContext context) {
var data = [
MapEntry("key", "value"),
MapEntry("key", "value"),
MapEntry("key", "value"),
MapEntry("key", "value"),
MapEntry("key", "value"),
// MapEntry("key", "value"),
// MapEntry("key", "value"),
// MapEntry("key", "value"),
];
return Scaffold(
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
title: Text(title),
),
// body: NewWidget(
// data: data,
// ),
body: ListView.separated(
itemBuilder: (context, index) {
return NewWidget(data: data);
},
scrollDirection: Axis.horizontal,
itemCount: 3,
shrinkWrap: true,
separatorBuilder: (context, index) {
return SizedBox(width: 8);
},
),
);
}
}
class NewWidget extends StatelessWidget {
const NewWidget({
super.key,
required this.data,
});
final List<MapEntry<String, String>> data;
@override
Widget build(BuildContext context) {
return Container(
width: MediaQuery.of(context).size.width - 60,
decoration: BoxDecoration(
color: Colors.red,
borderRadius: BorderRadius.circular(16),
),
child: IntrinsicHeight(
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(20, 20, 20, 20),
child: Column(
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
// mainAxisSize: MainAxisSize.max,
children: data.map((entry) {
final key = entry.key;
final value = entry.value;
return Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
key,
style: TextStyle(
fontFamily: 'Readex Pro',
fontWeight: FontWeight.w500,
fontSize: 12,
),
),
Text(
value ?? '—',
style: TextStyle(
fontFamily: 'Readex Pro',
fontWeight: FontWeight.w500,
fontSize: 12,
),
),
],
),
const Divider(
thickness: 1,
color: Color(0xFFB9B9B9),
),
],
),
);
}).toList(),
),
),
),
);
}
}
Бл*н, телеграм, конечно, молодцы, что завезли адекватный вид кода, но лучше бы они возможность сворачивать длинные сообщения сделали...
Кстати, укажи язык в первой строчке?
Обсуждают сегодня