I have a container and circle avatar in a stack. avatar is placed at the top center with alignment and is positioned to used as a overlay image over the container border. But the image is disappearing as it is overflowing the container border. Is there any widget that can be used to produce the desired result?
Stack(
alignment: Alignment.topCenter,
children: [
Container(
height: screenWidth / 1.25,
width: screenWidth / 1.4,
decoration: BoxDecoration(
color: kAppBarColor,
borderRadius: BorderRadius.circular(12.0),
),
child: Column(
children: [
const SizedBox(height: 45.0),
Text(
'Joey',
style: kTitleTextStyle.copyWith(
fontSize: 22.0,
fontWeight: FontWeight.w500,
),
),
const SizedBox(height: 3.0),
Text(
'WhatsApp contact',
style: kSubTitleTextStyle.copyWith(fontSize: 12.0),
),
const SizedBox(height: 10.0),
SizedBox(
height: 210.0,
width: 210.0,
child: Image.asset(
'images/qr_whatsapp.jpg',
scale: 1.2,
),
),
const SizedBox(height: 5.0),
],
),
),
const Positioned(
top: -20,
child: CircleAvatar(
radius: 25.0,
backgroundImage: AssetImage('images/p1.jpg'),
),
)
],
),
2
Answers
You have a clipBehavior property in stack you can try it to solve this issue.
Wrap your
CircleAvatar
withClipOval
like this: