반응형

Flutter/Flutter 기본 31

[Flutter] switch-case Distructure(구조분해)

값을 받아올 때 값을 분해한 상태로 가져온다 void main() { // Validation final minJi = ('민지', 20); //타입을 보장받고 싶은 경우 as로 캐스팅 final (name as String, age as int) = minJi; print(name); print(age); } 위와같은 경우 minJi의 구조가 String, int로 캐스팅 돼서 name에는 minji, age에는 20이 출력된다. void switcher(dynamic anything) { switch(anything) { case 'aaa' : print('match:aaa'); //distructure case ['1','2'] : print('match [1,2]'); //list인데 3개의 값이..

[Flutter] Horizontal viewport was given unbounded height

Horizontal viewport was given unbounded height 이런 오류, 보통 ListView에서 나타나기 마련임 ListView의 높이가 무한대로 늘어나서 생긴 오류 높이를 제한시켜 주면 된다. 1. Card가 있다면, Card의 전체 크기 제한 Card를 SizedBox의 height를 제한 2. 덧붙여, Scroll가능한 위젯은 Column내에서 사용했을 때, Expanded로 감싸줘야한다. 무조건 이런 경우.. ListView를 Expande로감싸줘야함

[Flutter] asset(img, font등록)

pubspec.yaml uses-material-design: true 뒤에 아래와 같은 경로와 형식으로 등록 assets: - asset/img/ fonts: - family: NotoSans fonts: - asset: asset/font/NotoSansKR-Black.otf weight: 900 - asset: asset/font/NotoSansKR-Bold.otf weight: 700 - asset: asset/font/NotoSansKR-Light.otf weight: 500 - asset: asset/font/NotoSansKR-Medium.otf weight: 400 - asset: asset/font/NotoSansKR-Regular.otf weight: 300 - asset: asset/..

[Flutter] permission_handler ios 권한 설정

위 코드를 Podfile에 붙여넣기 (만약 Podfile이 없다면 iOS시뮬레이터 실행하면 생성됨) Podfile하단에 flutter_additional_ios_build_settings(target)하단에 붙여넣기 하자 이제 target.build_configurations.each do |config| # You can enable the permissions needed here. For example to enable camera # permission, just remove the `#` character in front so it looks like this: # # ## dart: PermissionGroup.camera # 'PERMISSION_CAMERA=1' # # Preprocesso..

[Flutter] android, ios 플러그인 권한 설정

권한 설정 전 공통 pubspec.yamel에 dependencies에 플러그인 등록 android-app-src-main-AndroidManifest.xml에 하단, 상단에 플러그인에서 제공하는 코드 등록 제공되는 권한 코드가 아래와 같다면 이 부분만 복사 붙여넣기 ios-Runner-Info.plist에서 하단에 하단, 상단에 NSMicrophoneUsageDescription '표시해 줄 내용' NSCameraUsageDescription '표시해 줄 내용' ex. 마이크, 카메라 권한 설정 NSMicrophoneUsageDescription 마이크 사용을 허가해줘 NSCameraUsageDescription 카메라 사용을 허가해줘

[Flutter] FutureBuilder

3초 뒤에 랜덤하게 100이하의 숫자 생성 Future getNumber() async { await Future.delayed(Duration(seconds: 3)); final random = Random(); return random.nextInt(100); } } Future값을 아직 넣지 않았을 때의 기본 class HomeScreen extends StatefulWidget { const HomeScreen({Key? key}) : super(key: key); @override State createState() => _HomeScreenState(); } class _HomeScreenState extends State { @override Widget build(BuildContext c..

[Flutter] 영상관련 기능 정리

void onReversePressed() { } void onPlayPressed() { } void onForwardPressed() { } Play, reverse, forward 버튼 기능 구현 void onReversePressed() { //현재 영상 위치를 알아야한다(videoController!.value.position) final currentPosition = videoController!.value.position; // duration타입 Duration position = Duration(); // position을 기본 0초로 세팅 if(currentPosition.inSeconds > 3) { position = currentPosition - Duration(seconds:..

[Flutter] 중복되는 것 없이 새로운 함수로 Icon받기

Expanded( child: Slider( value: currentPosition.inSeconds.toDouble(), onChanged: (double val) { videoController!.seekTo(Duration(seconds: val.toInt(), ), ); }, max: videoController!.value.duration.inSeconds.toDouble(), min: 0, ), ),​ class _Controls extends StatelessWidget { const _Controls({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Row( children: [ Icon..

반응형