flutter - BorderRadius.circular(radius) 如何作为 RoundedRectangleBorder Flutter 的参数工作?
问题描述
文档只是说明
圆角矩形边框
带有圆角的矩形边框。
通常与 ShapeDecoration 一起使用以绘制带有圆角矩形的框。
此形状可以在 CircleBorder 之间进行插值。
边界半径.圆形
创建所有半径为 [Radius.circular(radius)] 的边界半径。
这是什么意思?如果我的按钮是 50 个逻辑像素(25 个半径),并且我将半径设置为 20,那么它是否应该剪裁 20 个逻辑像素半径之外的角?如果我将其设置为 30,则整个按钮将在圆形半径内,因此不应剪裁任何内容。不是这种情况。
一切 >=30 似乎都将角剪成 45 度弧,从而在按钮的每个短边上形成一个完整的半圆。
谁能解释这个值以及如何使用它?
解决方案
半径告诉您创建圆弧的拐角有多远。因此,如果您只想要稍微圆角的角,则可以使用较小的值。一个 80pt x 30pt 的 DecoratedBox 可能需要一个 7pt 的圆半径。一个圆的半径从顶部和相邻边延伸 7 点。如果您应用的圆形半径大于您遇到半圆的最短可用边。为此,15pt 或更大的半径会产生这种效果。
如果您正在寻找一个可能会为您确定它是圆角的盒子,那么您可以轻松地创建一个类,将 DecoratedBox 包裹在 LayoutBuilder 内,以找出最短边并根据该长度确定小数半径。
推荐阅读
- linux - docker-compose.yml 在以点 (.) 开头的文档上使用卷
- nosql - MySQL集群中的批量插入和更新
- google-cloud-platform - 谷歌云盔甲:无法使用云盔甲添加目标
- jquery - 请求发布后 httpObj.getResponseHeader("location") 为空
- google-drive-api - Google 云端硬盘文件权限 - 列表不完整
- laravel-5 - Paginate() 函数返回 Laravel 中的所有数据
- regex - python 2.6 和 2.7 中 re._compile 的区别
- c# - 我可以在 asp.net core 2.1 MVC 的前端直接更改,而不重新发布解决方案吗
- c# - Automapper 和命名约定
- angular - Angular6 Material Datepicker向模板添加内容