7일차 과제 - rlatkddbs99/Flutter GitHub Wiki

캡처1

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("이름");	//함수 실행	
}

⚠️ **GitHub.com Fallback** ⚠️