class part 2
Last updated
Last updated
// Some code
import 'package:flutter/material.dart';
class OopLesson02 extends StatefulWidget {
const OopLesson02({super.key});
@override
State<OopLesson02> createState() => _OopLesson02State();
}
class _OopLesson02State extends State<OopLesson02> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: ListView.builder(
itemCount: instagram.length,
itemBuilder: (BuildContext context, int index) {
final ins = instagram[index];
return Column(
mainAxisSize: MainAxisSize.min,
children: [
ListTile(
leading: CircleAvatar(
backgroundImage: AssetImage(ins.image),
),
title: Text(ins.title),
),
IconButton(
onPressed: () {
setState(() {
ins.isLike = !ins.isLike;
});
ins.like();
},
icon: Icon(
ins.isLike ? Icons.favorite : Icons.favorite_border,
color: ins.isLike ? Colors.red : Colors.black,
),
),
ins.video == null ? Text('') : Text('video'),
],
);
},
),
);
}
}
// домашка this -
// несколько class -
//
class Instagram {
final String image;
final String title;
final DateTime dateTime;
final List<String> images;
final String? video;
bool isLike;
final int count;
bool isBookmark;
Instagram({
required this.image,
required this.title,
required this.dateTime,
required this.images,
this.video,
this.isLike = false,
required this.count,
this.isBookmark = false,
});
void like(){
print('Like');
}
}
List<String> data = [];
List<Map<String, dynamic>> dataOne = [];
List<Instagram> instagram = [
Instagram(
image: 'assets/apple.png',
title: 'Bermilion',
dateTime: DateTime.now(),
images: ['assets/apple.png', 'assets/sprite.png', 'assets/logo.png'],
count: 0,
video: 'Video'
),
Instagram(
image: 'assets/apple.png',
title: 'Bermilion',
dateTime: DateTime.now(),
images: ['assets/apple.png', 'assets/sprite.png', 'assets/logo.png'],
isLike: true,
count: 0,
),
Instagram(
image: 'assets/apple.png',
title: 'Bermilion',
dateTime: DateTime.now(),
images: ['assets/apple.png', 'assets/sprite.png', 'assets/logo.png'],
isLike: false,
count: 0,
isBookmark: false,
),
Instagram(
image: 'assets/apple.png',
title: 'Bermilion',
dateTime: DateTime.now(),
images: ['assets/apple.png', 'assets/sprite.png', 'assets/logo.png'],
isLike: false,
count: 0,
isBookmark: false,
),
Instagram(
image: 'assets/apple.png',
title: 'Bermilion',
dateTime: DateTime.now(),
images: ['assets/apple.png', 'assets/sprite.png', 'assets/logo.png'],
isLike: false,
count: 0,
isBookmark: false,
),
Instagram(
image: 'assets/apple.png',
title: 'Bermilion',
dateTime: DateTime.now(),
images: ['assets/apple.png', 'assets/sprite.png', 'assets/logo.png'],
isLike: false,
count: 0,
isBookmark: false,
),
];