mirror of
https://github.com/nisrulz/flutter-examples.git
synced 2026-07-10 10:40:52 +00:00
* Added a News&Memes-App/Sriraj-dev * Added Screen recording and Screenshots * Update README.md * Added demo directory with sample images/recording * Update README.md
This commit is contained in:
98
news_memes_app/lib/Screens/NewsScreen.dart
Normal file
98
news_memes_app/lib/Screens/NewsScreen.dart
Normal file
@@ -0,0 +1,98 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:news_memes_app/services/getNews.dart';
|
||||
|
||||
class NewsScreen extends StatefulWidget {
|
||||
//const NewsScreen({Key? key}) : super(key: key);
|
||||
List<NewsModel> news;
|
||||
|
||||
NewsScreen(this.news);
|
||||
|
||||
@override
|
||||
_NewsScreenState createState() => _NewsScreenState(news);
|
||||
}
|
||||
|
||||
class _NewsScreenState extends State<NewsScreen> {
|
||||
List<NewsModel> news;
|
||||
|
||||
_NewsScreenState(this.news);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final Size size = MediaQuery.of(context).size;
|
||||
return Scaffold(
|
||||
backgroundColor: Color(0xFF28496E),
|
||||
body: Center(
|
||||
child: Center(
|
||||
child: InteractiveViewer(
|
||||
child: ListView(
|
||||
// magnification: 1.2,
|
||||
children: news
|
||||
.map((e) => Padding(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
vertical: 15, horizontal: 20),
|
||||
child: Container(
|
||||
width: size.width * 0.88,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(25),
|
||||
color: Colors.white,
|
||||
),
|
||||
child: Column(
|
||||
children: [
|
||||
e.imageUrl == 'NoImage'
|
||||
? Container(
|
||||
height: 40,
|
||||
color: Colors.grey,
|
||||
child: Text(
|
||||
'No Preview Available!',
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w300,
|
||||
color: Colors.black38,
|
||||
),
|
||||
),
|
||||
)
|
||||
: Padding(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
vertical: 10, horizontal: 10),
|
||||
child: ClipRRect(
|
||||
borderRadius:
|
||||
BorderRadius.circular(30),
|
||||
child: Image(
|
||||
image: NetworkImage(e.imageUrl))),
|
||||
),
|
||||
SizedBox(
|
||||
height: 15,
|
||||
),
|
||||
Padding(
|
||||
padding:
|
||||
const EdgeInsets.fromLTRB(10, 0, 10, 0),
|
||||
child: Text(
|
||||
e.title,
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.bold,
|
||||
color: Colors.black54,
|
||||
),
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding:
|
||||
const EdgeInsets.fromLTRB(10, 0, 10, 20),
|
||||
child: Text(
|
||||
e.description,
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w300,
|
||||
color: Colors.black54,
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
))
|
||||
.toList(),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user