有很多方法可以实现,但我只会使用一种。
在child
小部件周围包装一个ClipRRect()小部件(这可以是图像或任何其他相关的小部件,例如在我的示例中使用的容器)。然后,将BorderRadius.circular(20.0)
值传递给ClipRRect()的borderRadius
属性。这是创建效果的活动代码行。
请查看下面的示例:
ClipRRect(
borderRadius: BorderRadius.circular(20.0),//or 15.0
child: Container(
height: 70.0,
width: 70.0,
color: Color(0xffFF0E58),
child: Icon(Icons.volume_up, color: Colors.white, size: 50.0),
),
),
BorderRadius
属性和ClipRRect
:
ClipRRect(
borderRadius: BorderRadius.all(Radius.circular(10.0)),//add border radius here
child: Image.asset('assets/01.jpg'),//add image location here
),
您可以使用ClipRRect和Container Widget的组合来实现相同的效果,使用上述给出的代码即可。
import 'package:flutter/material.dart';
const Color darkBlue = Color.fromARGB(255, 18, 32, 47);
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData.dark().copyWith(
scaffoldBackgroundColor: darkBlue,
),
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(
child: MyWidget(),
),
),
);
}
}
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ClipRRect(
borderRadius: BorderRadius.circular(15.0),//or 15.0
child: Container(
height: 70.0,
width: 70.0,
color: const Color(0xffFF0E58),
child: const Icon(Icons.volume_up, color: Colors.white, size: 50.0),
),
);
}
}