본문 바로가기
TIL

20230826 TIL

by 김빵그 2023. 8. 26.

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