在flutter中Container生成圓角形狀的程式碼如下:
Container(,
width:200,
height:200,
decoration: BoxDecoration(
border: Border.all(color:Color(0xFFE9E2EE)),
borderRadius: BorderRadius.circular(50),
color: Colors.green
)
)
複製程式碼
效果圖如下:
當巢狀一個圖片時,圖片並不尊重Container的圓角形狀,直接以長方形撐破了Container,顯示效果不好,程式碼如下:
Container(
width: 200,
height: 200,
decoration: BoxDecoration(
border:Border.all(color: Color(0xFFE9E2EE)),
borderRadius: BorderRadius.circular(50),
color: Colors.green
),
child: Image.network(
"https://user-gold-cdn.xitu.io/2020/4/16/171818a272f1dbc8?w=2000&h=1060&f=jpeg&s=266199",
fit: BoxFit.cover,
),
)
複製程式碼
效果為:
此時,只需要將child套在ClipRRect中,將切割半徑設為Container的圓角半徑即可。程式碼如下:
Container(
width: 200,
height: 200,
decoration: BoxDecoration(
border:Border.all(color: Color(0xFFE9E2EE)),
borderRadius: BorderRadius.circular(50),
color: Colors.green
),
child: ClipRRect(
borderRadius: BorderRadius.circular(50),
child: Image.network(
"https://user-gold-cdn.xitu.io/2020/4/16/171818a272f1dbc8?w=2000&h=1060&f=jpeg&s=266199",
fit: BoxFit.cover,
),
),
![](https://user-gold-cdn.xitu.io/2020/4/16/1718198a7307f765?w=552&h=480&f=png&s=182478)
)
複製程式碼
效果圖為:
當然也可以設定borderRadius四個角的切割,以滿足不同的需求。
borderRadius: BorderRadius.only(topLeft: Radius.circular(50),bottomRight: Radius.circular(50)),
複製程式碼
效果如下:
這就是ClipRRect的簡單用法,謝謝觀看。