본문 바로가기
반응형

다트8

[flutter] 앱 아이콘 변경 시 Execution failed for task ':app:mergeReleaseResources'. 플러터로 앱을 개발하고 앱 아이콘을 변경 시 해당 에러가 뜨는 경우가 있다. 본인 같은 경우에는 flutter_launcher_icons 플러그인을 사용해서 변경 했다. 그런데도 빌드 시 이런 에러가 발생한다.  만약 이런 에러가 난다면 /android\app\src\main\res에 있는 png 파일 확장자를 확인하자. 만약 소문자로 png라고 되어 있으면 에러가 발생할 수 있다. 대문자로 전부 PNG로 변경해주면 해결이 된다.(다른 부가적인 문제가 없을 시) 2024. 5. 3.
[Flutter] Text 위젯에서 긴 문자열 overflow 처리법 프로젝트를 하던 도중에 Text 위젯에 길이가 긴 문자열이 들어가 UI가 깨지는 현상이 발생하였다. 보통 우리가 앱을 쓸 때 이런 경우 fade 처리나 ... 표시를 통해 두에 내용이 더 있음을 암시하고 너비를 제한하고는 한다. 나도 그 방법으로 해결해보자. 먼저 SizedBox로 해당 Text 위젯을 감싼 뒤 너비를 정해주자. SizedBox( width:200, child: Text( documentSnapShot['detail'], style: const TextStyle(color: Colors.white), maxLines: 1, softWrap: false, ), ), 이렇게 하면 UI는 깨지지 않지만 뒤에 내용이 더 있다는 암시가 없어 그냥 문자열이 뚝 끊기는 느낌을 준다. 그래서 뒤에 내용.. 2023. 11. 9.
[Dart] 추상화 클래스와 상속, Mixin 추상화 클래스 추상화 클래스는 객체를 생성할 수 없는 클래스이다. 추상화 클래스는 다른 클래스들이 직접 구현 해야 하는 메소드들을 모아놓은 것이라고 할 수 있다. 먼저 추상화 클래스를 작성해보자 abstract class Human { void walk(){} //반환 값과 함수 이름만 선언 } Human이라는 추상화 클래스는 walk라는 메소드를 가지고 walk 메소드는 void 반환타입을 가진다. 그리고 이 Human 추상화 클래스를 사용하기 위해서 Player 클래스가 Human 클래스를 상속을 받는다. 다음과 같이 하면 된다. class Player extends Human{ String name; int xp; Team team; Player({required this.name,required .. 2023. 10. 25.
[Dart] Cascade Notation Cascade Notation 이러한 코드가 있다. class Player{ String name; int xp; String team; Player({required this.name,required this.xp,required this.team}); void sayHello(){ print("hi my name is $name"); //클래스 함수 내에서는 this를 쓸 필요가 없음 } } void main() { var test = Player(name:'test', xp:1200, team:'red'); } 여기서 인스턴스의 프로퍼티 값을 바꾸고 싶다면 어떻게 해야 될까? 일반적으로는 test.name = '~~~' 이런 식으로 하나씩 바꿔 주어야 될 것이다. 근데 이러면 비슷한 코드를 계속 써.. 2023. 10. 25.
반응형