Opacity 위젯
Opacity 위젯은 자식 위젯을 부분적으로 또는 완전히 투명하게 만듭니다. 시각적 효과, 전환, 위젯 상태 표시에 유용합니다.
속성
opacity
: 0.0(완전 투명)에서 1.0(완전 불투명) 사이의 숫자child
: 투명도를 적용할 위젯
일반적인 사용 사례
-
비활성화 상태:
Opacity({ opacity: isEnabled ? 1.0 : 0.5, child: Button() })
-
페이드 효과:
Opacity({ opacity: isVisible ? 1.0 : 0.0, child: Content() })
-
시각적 계층:
Column({ children: [ Opacity({ opacity: 1.0, child: PrimaryContent() }), Opacity({ opacity: 0.7, child: SecondaryContent() }) ] })
모범 사례
-
성능:
- 투명도를 적절히 사용
- 정적 투명도는 알파 색상값 사용 고려
- 합성 비용 주의
-
접근성:
- 충분한 대비 보장
- 비활성화 상태 고려
- 상호작용 불가능한 투명 요소 숨기기
-
애니메이션:
- 부드러운 전환 사용
- 성능 영향 고려
- 다양한 기기에서 테스트
일반적인 패턴
-
로딩 상태:
Stack({ children: [ Content(), Opacity({ opacity: isLoading ? 0.5 : 0.0, child: LoadingOverlay() }) ] })
-
모달 오버레이:
Stack({ children: [ MainContent(), Opacity({ opacity: 0.5, child: ModalBackground() }), ModalContent() ] })
-
디버깅:
- 다양한 투명도 값 테스트
- 터치/클릭 영역 확인
- 대비율 확인