7일차 과제 - rlatkddbs99/Flutter GitHub Wiki
musicTile.dart
import 'package:flutter/material.dart';
import 'package:flutter/src/widgets/container.dart';
import 'package:flutter/src/widgets/framework.dart';
class MusicTile extends StatelessWidget {
const MusicTile(
{super.key,
required this.imgUrl,
required this.songTitle,
required this.singer,
required this.time});
final String imgUrl;
final String songTitle;
final String singer;
final String time;
@override
Widget build(BuildContext context) {
return ListTile(
leading: ClipRRect(
borderRadius: BorderRadius.circular(5),
child: Image.asset(imgUrl),
),
title: Text(
songTitle,
maxLines: 2,
overflow: TextOverflow.ellipsis,
style: TextStyle(fontWeight: FontWeight.bold),
),
subtitle: Row(
children: [
Icon(
Icons.check_circle,
size: 18,
),
Flexible(
child: Text(
singer,
maxLines: 1,
overflow: TextOverflow.ellipsis,
)),
Text(" · "),
Text(time),
],
),
trailing: Icon(Icons.more_vert),
);
}
}
main.dart
import 'package:contact_app/ContactTile.dart';
import 'package:contact_app/DrinkTile.dart';
import 'package:contact_app/MusicTile.dart';
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(
theme: ThemeData.from(colorScheme: ColorScheme.dark()),
home: Scaffold(
bottomSheet: Column(
mainAxisSize: MainAxisSize.min,
children: [
Container(
height: 64,
color: Colors.white12,
child: ListTile(
leading: ClipRRect(
child: Image.asset("assets/images/music_you_make_me.png"),
borderRadius: BorderRadius.circular(5),
),
title: Text("You Make Me"),
subtitle: Text("Day6"),
trailing: Row(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Icon(Icons.play_arrow),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Icon(Icons.skip_next),
)
],
),
),
),
Container(
height: 1,
alignment: Alignment.centerLeft,
child: Container(
color: Colors.white,
width: 14,
),
)
],
),
bottomNavigationBar: BottomNavigationBar(
selectedItemColor: Colors.white,
unselectedItemColor: Colors.white,
backgroundColor: Colors.black,
type: BottomNavigationBarType.fixed,
items: [
BottomNavigationBarItem(icon: Icon(Icons.home), label: '홈'),
BottomNavigationBarItem(icon: Icon(Icons.search), label: '둘러보기'),
BottomNavigationBarItem(
icon: Icon(Icons.library_music), label: '보관함'),
]),
appBar: AppBar(
backgroundColor: Colors.black,
iconTheme: IconThemeData(
color: Colors.white, //색변경
),
leading: Padding(
padding: const EdgeInsets.all(16.0),
child: Icon(Icons.navigate_before),
),
elevation: 0,
centerTitle: false,
title: Text("아워리스트"),
actions: <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
child: Icon(
Icons.airplay,
color: Colors.white,
),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Icon(
Icons.search,
color: Colors.white,
),
),
],
),
body: ListView(
shrinkWrap: true,
children: [
Divider(
height: 0.1,
color: Colors.white,
),
MusicTile(
imgUrl: "assets/images/music_come_with_me.png",
songTitle: "Come with me",
singer: "Surfaces 및 salem ilese",
time: "3:30",
),
MusicTile(
imgUrl: "assets/images/music_good_day.png",
songTitle: "Good day",
singer: "Surfaces",
time: "3:00",
),
MusicTile(
imgUrl: "assets/images/music_honesty.png",
songTitle: "Honesty",
singer: "Pink Sweat\$",
time: "3:09",
),
MusicTile(
imgUrl: "assets/images/music_i_wish_i_missed_my_ex.png",
songTitle: "I Wish I Missed My Ex",
singer: "마할리아 버크마",
time: "3:20"),
MusicTile(
imgUrl: "assets/images/music_plastic_plants.png",
songTitle: "Plastic Plants",
singer: "마할리아 버크마",
time: "3:01",
),
MusicTile(
imgUrl: "assets/images/music_sucker_for_you.png",
songTitle: "Sucker for you",
singer: "맷 테리",
time: "3:15"),
MusicTile(
imgUrl: "assets/images/music_summer_is_for_falling_in_love.png",
songTitle: "Summer is for falling in love",
singer: "Sarah Kang & Eye Love Brandon",
time: "3:24"),
MusicTile(
imgUrl: "assets/images/music_these_days.png",
songTitle:
"These days(feat. Jess Glynne, Macklemore & Dan Caplen)",
singer: "Rudimental",
time: "3:32"),
],
),
),
);
}
}
void printmsg(String yourName){ //매개변수로는 String형태만
print("안녕"+yourname);
}
void main(){
printmsg("이름"); //함수 실행
}