[Flutter] 이미지에 Ripple 효과를 추가하는 방법(Stack 이외)
네, 그것도 좋아요.
플루터로 이미지에 리플을 추가하려고 방법을 조사해
Stack
에 이미지Material
를 배치할 수 있는 방법이 인기를 끌었다.(예: 이것 또는 저것다만, 이것보다 더 쉬운 방법을 찾았기 때문에 나는 그것을 공유한다.
메서드
Ink
Widget 및 InkWell
Widget 사용은 상당히 간단합니다.원본 이미지에 Ripple 첨부
Ink.image
간결하게 쓸 수 있어요.import 'package:flutter/material.dart';
void main() {
runApp(
MaterialApp(
home: MyWidget(),
),
);
}
class MyWidget extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Ink.image(
width: 100,
height: 100,
image: NetworkImage('https://4.bp.blogspot.com/-SNILKxCoGxA/WMdTfmXnenI/AAAAAAABChM/HeJqR7MV9ZE2vXQFmdVeaZ3t6NxV6R9QwCLcB/s800/pet_nekotsugura.png'),
child: InkWell(
onTap: () {
// 何かしらのTapイベント
},
),
),
),
);
}
}
필렛 등 가공된 이미지에 Ripple 추가
decoration
Ink
을 사용하세요.import 'package:flutter/material.dart';
void main() {
runApp(
MaterialApp(
home: MyWidget(),
),
);
}
class MyWidget extends StatelessWidget {
final borderRadius = BorderRadius.circular(15);
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Ink(
width: 100,
height: 100,
decoration: BoxDecoration(
borderRadius: borderRadius,
image: DecorationImage(
image: NetworkImage(
'https://4.bp.blogspot.com/-SNILKxCoGxA/WMdTfmXnenI/AAAAAAABChM/HeJqR7MV9ZE2vXQFmdVeaZ3t6NxV6R9QwCLcB/s800/pet_nekotsugura.png'),
fit: BoxFit.cover,
),
),
child: InkWell(
borderRadius: borderRadius,
onTap: () {
// 何かしらのTapイベント
},
),
),
),
);
}
}
참고 자료
Codepen에서 이번 코드가 발생했습니다. 한번 시도해 보십시오.
무각
모나다
Reference
이 문제에 관하여([Flutter] 이미지에 Ripple 효과를 추가하는 방법(Stack 이외)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/hammer/articles/eb51f784e73b55c374f1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)