프론트엔드/플러터 | Flutter

[Flutter | 플러터] 함수로 위젯 표현하기 ( audioplayers package)

개발자R 2020. 10. 9. 00:14
반응형

 

 하나씩 누를 때 실로폰처럼 소리가 나는 앱이다.

 

import 'package:flutter/material.dart';
import 'package:audioplayers/audio_cache.dart';

void main() => runApp(XylophoneApp());

class XylophoneApp extends StatelessWidget {
  final player = AudioCache();

  void playSound(int soundNum) {
    player.play('note$soundNum.wav');
  }

  Widget buildKey(int numKey, Color _color) {
    return Expanded(
      child: FlatButton(
        onPressed: () {
          playSound(numKey);
        },
        color: _color,
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: SafeArea(
          child: Container(
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.stretch,
              children: <Widget>[
                buildKey(1, Colors.red),
                buildKey(2, Colors.orange),
                buildKey(3, Colors.yellow),
                buildKey(4, Colors.green),
                buildKey(5, Colors.blue),
                buildKey(6, Colors.blue[900]),
                buildKey(7, Colors.purple),
              ],
            ),
          ),
        ),
      ),
    );
  }
}
반응형