Today 요약
[✅] 프로그래머스 lv0 1문제
[✅] flutter 랜덤 2개
[✅] flutter 위젯 강의 1개
[✅] flutter 강의2개
배운 점
1) js Array.prototype.forEach
const array1 = ['a', 'b', 'c'];
array1.forEach((element, index) => console.log(element, index));
// Expected output: "a" 0
// Expected output: "b" 1
// Expected output: "c" 2
- forEach는 주어진 함수를 배열 요소 각각에 대해 실행
Array.prototype.forEach() - JavaScript | MDN
forEach() 메서드는 주어진 함수를 배열 요소 각각에 대해 실행합니다.
developer.mozilla.org
2) flutter ElevatedButton
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
ElevatedButton(
style: style,
onPressed: null,
child: const Text('Disabled'),
),
const SizedBox(height: 30),
ElevatedButton(
style: style,
onPressed: () {},
child: const Text('Enabled'),
),
],
),
- 옆의 이미지와 같이 튀어나온듯한 느낌의 버튼 클래스
- 레이블의 텍스트 및 아이콘 위젯은 스타일의 buttonStyle.foregroundColor에 표시
- 버튼 색상은 ButtonStyle.groundColor
- 튀어나온 버튼 기본 스타일은 defaultStyleOf에 의해 정의된다 물론 재정의도 가능
- ElevatedButtonTheme으로 재정의 될 수 있으며 스타일은 ThemeData.elevatedButtonTheme 속성으로재정의 될 수 있다
3) Autocomplete 자동완성 클래스
Autocomplete class - material library - Dart API
Autocomplete class A widget for helping the user make a selection by entering some text and choosing from among a list of options. The user's text input is received in a field built with the fieldViewBuilder parameter. The options to be displayed are deter
api.flutter.dev
- 사용자들에게 자동완성의 경험을 제공할수있는 클래스
Autocomplete<String>(
optionsBuilder: (textEditingValue) {
return data.filter(
(entry) =>
entry.contains(
textEditingValue.text,
),
);
},
)
- optionsBuilder는 텍스트 입력으로부터 최신의 textEditingValue 속성을 취하고 일치 대상을 반복하는 매서드이다
- 일치하는 대상들은 스트링이나 커스텀 유형이 될 수 있다
- displayStringForOption 파라미터를 이용하여 스트링으로 변경이 가능
displayStringForOption : (MyCustomType obj) => obj.name,
- 일치 대상의 표시 방식을 제어하려면 optionsViewBuilder 콜백을 사용하면 된다
- 사용자가 일치 대상 중 하나를 탭하는 시점을 파악하려면 onSelected 기능을 적용해라
onSelected : (MyCustomType obj) {
stateManagement.toggle(obj);
}
- fieldViewVuilder 를 사용해 입력값을 완전히 제어할 수도 있음
4) flutter 숫자 포맷팅
Internationalizing Flutter apps
How to internationalize your Flutter app.
docs.flutter.dev
"likeCount": "{value}",
"@likeCount": {
"description": "A message with a formatted int parameter",
"placeholders": {
"value": {
"type": "int",
"format": "compact",
"example": "123"
}
}
},
Text(
S.of(context).likeCount(1200000),
)
- 한글 120만 영문 1.2M 이런식으로 자동 번역되어 나온다
5) flutter date
DateFormat class - intl library - Dart API
DateFormat class DateFormat is for formatting and parsing dates in a locale-sensitive manner. It allows the user to choose from a set of standard date time formats as well as specify a customized pattern under certain locales. Date elements that vary acros
api.flutter.dev
"likeCount": "{value} {time}",
"@likeCount": {
"description": "A message with a formatted int parameter",
"placeholders": {
"value": {
"type": "int",
"format": "compact",
"example": "123"
},
"when": {
"type": "DateTime",
"format": "LLLL / Hm",
"isCustomDateFormat": "true"
}
}
},
Text(
S.of(context).likeCount(1200000, DateTime.now()),
)
- 숫자형과 마찬가지로 날짜 형식을 지정하는데 사용된다
- isCustomDateFormat을 사용하여 여러개 사용도 가능하다
ICU Name Skeleton
-------- --------
DAY d
ABBR_WEEKDAY E
WEEKDAY EEEE
ABBR_STANDALONE_MONTH LLL
STANDALONE_MONTH LLLL
NUM_MONTH M
NUM_MONTH_DAY Md
NUM_MONTH_WEEKDAY_DAY MEd
ABBR_MONTH MMM
ABBR_MONTH_DAY MMMd
ABBR_MONTH_WEEKDAY_DAY MMMEd
MONTH MMMM
MONTH_DAY MMMMd
MONTH_WEEKDAY_DAY MMMMEEEEd
ABBR_QUARTER QQQ
QUARTER QQQQ
YEAR y
YEAR_NUM_MONTH yM
YEAR_NUM_MONTH_DAY yMd
YEAR_NUM_MONTH_WEEKDAY_DAY yMEd
YEAR_ABBR_MONTH yMMM
YEAR_ABBR_MONTH_DAY yMMMd
YEAR_ABBR_MONTH_WEEKDAY_DAY yMMMEd
YEAR_MONTH yMMMM
YEAR_MONTH_DAY yMMMMd
YEAR_MONTH_WEEKDAY_DAY yMMMMEEEEd
YEAR_ABBR_QUARTER yQQQ
YEAR_QUARTER yQQQQ
HOUR24 H
HOUR24_MINUTE Hm
HOUR24_MINUTE_SECOND Hms
HOUR j
HOUR_MINUTE jm
HOUR_MINUTE_SECOND jms
HOUR_MINUTE_GENERIC_TZ jmv (not yet implemented)
HOUR_MINUTE_TZ jmz (not yet implemented)
HOUR_GENERIC_TZ jv (not yet implemented)
HOUR_TZ jz (not yet implemented)
MINUTE m
MINUTE_SECOND ms
SECOND s
주절주절
오늘 정말 공부하기 싫었는데 .. 막상 컴퓨터 앞에 앉으니 적은 양이지만 ! 조금이라도 해낸 내가 너무너무 자랑스럽다!!!!!!! 천천히 하되 꾸준히 포기하지 말자.. !
'TIL' 카테고리의 다른 글
20230830 TIL : 급할수록 천천히 기초다지기 (0) | 2023.08.30 |
---|---|
20230828 TIL : 월요일 좋아 싫어 (0) | 2023.08.28 |
20230823 TIL (1) | 2023.08.23 |
20230822 TIL (0) | 2023.08.22 |
20230821 TIL (0) | 2023.08.21 |