반응형
[Flutter] 플러터 기초 (2) - 리스트, 스낵바 등 기초 연습.
Flutter 플러터 기초 (2) - 리스트, 스낵바 등 기초 연습.
안녕하세요 정보처리마법사 입니다.
이번 포스팅의 주제는 Flutter 기초에 관한 내용 (2) 입니다.
저도 Flutter, Dart 초보라 공부하면서 연습하면서 작성하는 포스팅이니
저와같은 초보분들이 참고용으로만 보시면 될 듯합니다.
😁
저도 플러터, 다트 초보라 미숙한점 양해바라며, 함께? 점점 익숙해져봅시다!
이상으로 포스팅을 마칩니다. 감사합니다.
main.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import 'package:flutter/material.dart';
import 'package:flutter_app_test/src/ExamListState.dart';
void main() => runApp(FlutterExam());
class FlutterExam extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: ExamListState(),
);
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none; color:white">cs |
ExamListState.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
import 'package:flutter/material.dart';
import 'package:english_words/english_words.dart';
// RandomWordList 리스트는 상태가 변하는 리스트이기 때문에 StatefulWidget 을 상속받아 사용할 예정.
class ExamListState extends StatefulWidget {
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return _ExamListStateState();
}
}
// 상태가 변할때마다 _RandomWordListState 클래스의 상태를 바꿔준다.
class _ExamListStateState extends State<ExamListState> {
// 여러 랜덤 영어단어를 저장할 List 를 만들어 줌.
final List<WordPair> _randomWordList = <WordPair>[];
// Set은 List와 비슷한데 똑같은(동일한 값의) 오브젝트가 Set 값의 안에 들어갈 수 없음.
final Set<WordPair> _savedWord = Set<WordPair>();
@override
Widget build(BuildContext context) {
// TODO: implement build
final randomEnglishWord = WordPair.random();
return Scaffold(
appBar: AppBar(
title: Text("Flutter State Exam"),
),
body: ListView.builder(itemBuilder: (context, index) {
// context : 여기 코드가 실행될 때 이 앱의 현재상황을 context라고 함.
// index : ListView 의 인덱스 0부터 시작.
if (index.isOdd) {
// Index가 홀수면 Divider를 그어줘라.
return Divider();
}
// realIndex = index를 2로 나눈 몫
var realIndex = index ~/ 2;
// _randomWordList 아이템 갯수 이상이면 _randomWordList에 랜덤영단어 10개를 넣어줘라.
}
return ListTile(
title: Text(
_randomWordList[realIndex].asPascalCase,
textScaleFactor: 1.5,
),
trailing: Icon(
Icons.tag_faces,
color: Colors.blue,
),
onTap: () {
Scaffold.of(context).showSnackBar(new SnackBar(
content: new Text(
_randomWordList[realIndex].asPascalCase,
textScaleFactor: 2,
),
duration: Duration(milliseconds: 1000),
));
},
);
}));
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none; color:white">cs |
Ctrl + C , Ctrl + V
이상으로 포스팅을 마칩니다. 감사합니다.
잘 못 된 정보가 있으면 말씀해주세요.
공감버튼 클릭은 작성자에게 큰 힘이 됩니다. 행복한 하루 되세요.
“파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음"
반응형
'Flutter' 카테고리의 다른 글
[Flutter] 플러터 기초 (6) - 리스트뷰 위젯(ListView Widget) 예제. (0) | 2019.07.10 |
---|---|
[Flutter] 플러터 기초 (5) - cupertino ui button, material ui button (0) | 2019.06.28 |
[Flutter] 플러터 기초 (4) - Hello World, FloatingActionButton 등 기본 예제. (0) | 2019.06.28 |
[Flutter] 플러터 기초 (3) - 플러그인 사용하기. 토스트(Toast) 예제. (0) | 2019.06.28 |
[Flutter] 플러터 기초 (1) - 초반 셋팅 (안드로이드스튜디오 사용) (2) | 2019.06.25 |