diff --git a/README.md b/README.md
index 6eee73d3..23a57af5 100644
--- a/README.md
+++ b/README.md
@@ -176,7 +176,7 @@ The code for Springy Widget is taken and refactored from (https://github.com/mat

## miscellaneous widgets
-
+

## Blog
diff --git a/lib/core/presentation/routes.dart b/lib/core/presentation/routes.dart
index 073e0853..ec2cf8d7 100644
--- a/lib/core/presentation/routes.dart
+++ b/lib/core/presentation/routes.dart
@@ -15,6 +15,7 @@ import 'package:flutter_ui_challenges/src/pages/misc/bottomsheet.dart';
import 'package:flutter_ui_challenges/src/pages/food/cake.dart';
import 'package:flutter_ui_challenges/src/pages/misc/image_popup.dart';
import 'package:flutter_ui_challenges/src/pages/misc/musicplayer.dart';
+import 'package:flutter_ui_challenges/src/pages/misc/musicplayer2.dart';
import 'package:flutter_ui_challenges/src/pages/onboarding/intro6.dart';
import 'package:flutter_ui_challenges/src/pages/settings/settings1.dart';
import 'package:flutter_ui_challenges/src/pages/settings/settings2.dart';
@@ -274,10 +275,11 @@ final List pages = [
SubMenuItem("Onboarding 5", Intro5(), path: Intro5.path),
]),
MenuItem(title: "Miscellaneous", items: [
+
+ SubMenuItem("Music Player Two", MusicPlayerTwoPage(),
+ path: MusicPlayerTwoPage.path),
SubMenuItem("Image Popup", ImagePopupPage(),
path: ImagePopupPage.path),
- SubMenuItem("Event Invitation", InvitationPageOne(),
- path: InvitationPageOne.path),
SubMenuItem("Chat Messaages", ChatTwoPage(), path: ChatTwoPage.path),
SubMenuItem("Form Elements", FormElementPage(),
path: FormElementPage.path),
diff --git a/lib/src/pages/misc/musicplayer2.dart b/lib/src/pages/misc/musicplayer2.dart
new file mode 100644
index 00000000..a3c2f229
--- /dev/null
+++ b/lib/src/pages/misc/musicplayer2.dart
@@ -0,0 +1,146 @@
+import 'package:cached_network_image/cached_network_image.dart';
+import 'package:flutter/material.dart';
+import 'package:flutter_swiper/flutter_swiper.dart';
+import 'package:flutter_ui_challenges/core/presentation/res/assets.dart';
+import 'package:flutter_ui_challenges/src/pages/invitation/inlanding.dart';
+
+class MusicPlayerTwoPage extends StatelessWidget {
+ static final String path = "lib/src/pages/misc/musicplayer2.dart";
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ appBar: AppBar(
+ backgroundColor: Colors.transparent,
+ elevation: 0,
+ iconTheme: IconThemeData(color: Colors.black),
+ title: Text(
+ 'Music Player',
+ style: TextStyle(color: Colors.black),
+ ),
+ actions: [
+ MaterialButton(
+ padding: const EdgeInsets.all(0),
+ elevation: 0,
+ shape: CircleBorder(),
+ onPressed: () {},
+ child: CircleAvatar(
+ maxRadius: 15.0,
+ backgroundImage: CachedNetworkImageProvider(avatars[0]),
+ ),
+ ),
+ ],
+ ),
+ body: SingleChildScrollView(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Container(
+ height: 250,
+ child: Swiper(
+ viewportFraction: 0.8,
+ scale: 0.9,
+ itemCount: 3,
+ itemBuilder: (context, index) => Stack(
+ children: [
+ Container(
+ decoration: BoxDecoration(
+ color: Colors.blue,
+ borderRadius: BorderRadius.circular(10.0),
+ image: DecorationImage(
+ image: CachedNetworkImageProvider(images[index]),
+ fit: BoxFit.cover,
+ )),
+ ),
+ Container(
+ alignment: Alignment.center,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(10.0),
+ color: Colors.blue.withOpacity(0.5)),
+ child: Text(
+ "Travel Series",
+ style: TextStyle(
+ color: Colors.white,
+ fontWeight: FontWeight.bold,
+ fontSize: 24.0,
+ ),
+ ),
+ )
+ ],
+ ),
+ ),
+ ),
+ const SizedBox(height: 10.0),
+ Container(
+ width: double.infinity,
+ padding: const EdgeInsets.all(16.0),
+ color: Colors.black,
+ child: Text(
+ "My Playlist, 348 Songs".toUpperCase(),
+ style: whiteText,
+ ),
+ ),
+ ListTile(
+ leading: Icon(Icons.pause),
+ title: Text("Ariana Grande"),
+ subtitle: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text("Daydreaming"),
+ const SizedBox(height: 10.0),
+ ],
+ ),
+ trailing: Text("3:45"),
+ ),
+ Padding(
+ padding: const EdgeInsets.only(left: 70.0,right: 20),
+ child: Stack(
+ children: [
+ Container(
+ width: double.infinity,
+ height: 1.0,
+ color: Colors.grey,
+ ),
+ Container(
+ width: MediaQuery.of(context).size.width-300,
+ height: 1.0,
+ color: Colors.black,
+ ),
+ ],
+ ),
+ ),
+ ListTile(
+ leading: Icon(Icons.play_arrow),
+ title: Text("Beyonce"),
+ subtitle: Text("Halo"),
+ trailing: Text("3:05"),
+ ),
+ ListTile(
+ leading: Icon(Icons.play_arrow),
+ title: Text("Don't let me down"),
+ subtitle: Text("Coldplay"),
+ trailing: Text("3:05"),
+ ),
+ ListTile(
+ leading: Icon(Icons.play_arrow),
+ title: Text("Just the way you are"),
+ subtitle: Text("Bruno Mars"),
+ trailing: Text("3:05"),
+ ),
+ ListTile(
+ leading: Icon(Icons.play_arrow),
+ title: Text("Beyonce"),
+ subtitle: Text("Halo"),
+ trailing: Text("3:05"),
+ ),
+ ListTile(
+ leading: Icon(Icons.play_arrow),
+ title: Text("Just the way you are"),
+ subtitle: Text("Bruno Mars"),
+ trailing: Text("3:05"),
+ ),
+ ],
+ ),
+ ),
+ );
+ }
+}
diff --git a/screenshots/musicplayer2.png b/screenshots/musicplayer2.png
new file mode 100644
index 00000000..27a4a196
Binary files /dev/null and b/screenshots/musicplayer2.png differ