반응형
SVG는 웹과 모바일 애플리케이션에서 많이 사용되는 이미지 포맷 중 하나다.
XML기반의 벡터 이미지 포맷으로 크기 변환 시 화질이 저화되지 않는 장점을 가지고 있어서 많이 사용한다.
하지만 flutter의 기본위젯으로 SVG파일을 직접적으로 지원하지 않지만,
flutter_svg라이브러리를 통해서 사용 할 수 있다.
기본구조
final Widget svg = SvgPicture.asset(
assetName,
);
사용방법
설치
- 터미널 창에 설치 코드 입력
flutter pub add flutter_svg
assets 설정
- assets 폴더 아래 내가 원하는 폴더를 만들어 준다.
해당 폴더 아래에SVG 파일을 추가 한다.
- pubspec.yaml 에 assets 폴더를 사용할거라는 것을 명시, svg 폴더를 사용할 거기 때문에 assets/svg/를 입력해준다.
svg뒤에 / 를 꼭 넣어줘야 한다.
사용
class SvgPracticePage extends StatelessWidget {
const SvgPracticePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(child: SvgPicture.asset('assets/svg/alert-circle.svg')),
);
}
}
svg 파일이 추가된것을 확인 할 수 있다.
크기 변경
- height, width를 추가 해주면 svg 파일을 크기를 변경 할 수 있다.
class SvgPracticePage extends StatelessWidget {
const SvgPracticePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: SvgPicture.asset(
'assets/svg/alert-circle.svg',
height: 50,
width: 50,
)),
);
}
}
색상 변경 방법
class SvgPracticePage extends StatelessWidget {
const SvgPracticePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: SvgPicture.asset(
'assets/svg/alert-circle.svg',
height: 50,
width: 50,
colorFilter: ColorFilter.mode(Colors.black, BlendMode.srcIn),
)),
);
}
}
colorFilter: ColorFilter.mode(Colors.black, BlendMode.srcIn) 를 사용하여
Color를 변경 할 수 있지만, 이는 조심히 사용해야한다.
colorFilter를 사용했을 시, 화질 저하가 일어나니 이 사항을 꼭 참고해야한다.
이것 때문에 고생을 조금 했다.
반응형
'프레임워크 > Flutter' 카테고리의 다른 글
[Flutter] ios/Android AppStroe, PlayStore 이동하기 (1) | 2024.06.08 |
---|---|
[Flutter] android:showWhenLocked 잠금화면 위에서도 앱이 보인다면 (0) | 2024.06.06 |
[Flutter]iconButton 소개 및 활용 방법, 예시코드있음 (0) | 2024.05.07 |
[Flutter] 안드로이드 앱 서명 jks 파일 생성 (0) | 2024.05.02 |
[Flutter] 당겨서 새로고침 표시 방법, RefreshIndicator 사용법 (0) | 2024.04.30 |
댓글