블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형
다양한 방법으로 CircleAvatar를 사용하면, 원형의 이미지를 만들 수 있다. 인스타 그램을 보면 아바타 겉에 그라데이션 border 효과가 들어가 있다. (아래 사진 참고)
구현 방법
우선 CircleAvatar
를 사용하여, 원형의 아바타를 만든다.
import 'package:flutter/material.dart';
class GradientBorderCircleAvatar extends StatelessWidget {
const GradientBorderCircleAvatar({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return CircleAvatar(
radius: 250,
backgroundImage: AssetImage("assets/images/person-winter.png"),
);
}
}
만들어진 아바타 겉에 border 효과를 줄건데, CircleAvatar에는 border 속성이 없다. 그래서 Container를 겉에 감싸서 border 효과를 주려고 한다.
import 'package:flutter/material.dart';
class GradientBorderCircleAvatar extends StatelessWidget {
const GradientBorderCircleAvatar({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.all(10),
decoration: BoxDecoration(
gradient: const LinearGradient(
begin: Alignment.bottomRight,
end: Alignment.topLeft,
colors: [
Color(0xff4dabf7),
Color(0xffda77f2),
Color(0xfff783ac),
],
),
borderRadius: BorderRadius.circular(500),
),
child: CircleAvatar(
radius: 250,
backgroundImage: AssetImage("assets/images/person-winter.png"),
),
);
}
}
- 그라데이션 효과는
Container
>decoration: BoxDecoration
>gradient: LinearGradient
를 사용한다 - border의 width 값은 Container의 padding을 활용할 수 있다
구현 화면
반응형
'Mobile > Flutter' 카테고리의 다른 글
Flutter MaterialApp 폰트 설정 (Theme로 적용 및 직접 적용) (0) | 2022.10.18 |
---|---|
Flutter - 커스텀으로 그라디언트 버튼 만들기 (Gradient Button) (0) | 2022.08.08 |
Flutter 버전 오류 (SDK version >=2.16.0-134.0.dev <3.0.0, version solving failed) (0) | 2022.02.05 |
cmdline-tools component is missing 오류 조치 (Flutter 플러터) (2) | 2021.10.13 |
플러터(flutter) - Row 세로 정렬 방법 (CrossAxisAlignment) (0) | 2021.01.03 |