- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
Container
和ClipRRect
都具有borderRadius
属性,但有时Container
无法正常工作。这是例子。
不工作
Container(
decoration: BoxDecoration(borderRadius: BorderRadius.circular(100)),
child: RaisedButton(onPressed: null),
),
工作
ClipRRect(
borderRadius: BorderRadius.circular(100),
child: RaisedButton(onPressed: null),
),
我想知道为什么 Container
有时会失败,还有什么地方会失败?
最佳答案
ClipRRect
插入一个渲染对象,修改其子树中小部件的渲染树。
ClipRRect
的子树将受到影响,角将被剪掉。
小部件本身及其子部件的 HitTest 将在遵守剪辑路径的情况下执行。这意味着小部件内的手势识别器(/按钮)将不会接收剪辑区域之外的点击。
ClipRRect
相对昂贵,但适用于裁剪图像或其他本身不提供圆角设置的复杂图形元素。
Container
另一方面,当与 BoxDecoration
and borderRadius
一起使用时/shape
设置,简单地在其背景上绘制一个圆角框。
此类容器的子树不会受其父窗口小部件背景装饰的影响。
Container
的 HitTest 将在遵守 borderRadius
的情况下执行,为容器本身提供“真正全面的”UI 智能点击体验。然而, child 手势识别器不会暴露于装饰设置 - 因此,即使在“裁剪”区域之外,手势也会像往常一样被接收。
带有 shape
或 borderRadius
设置的装饰容器是更可取的,因为它的绘制和维护成本相对较低,因为不需要子树的剪切掩码。
最后,我必须指出,这里描述的两种方式都不是您的最佳方式。
要创建带圆角的 RaisedButton
,请使用 RoundedRectangleBorder
对于 shape
按钮的属性。
例如
RaisedButton(
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(100))
// ...,
)
关于flutter - 容器 borderRadius 与 ClipRRect borderRadius,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56404539/
Container 和ClipRRect 都具有borderRadius 属性,但有时Container 无法正常工作。这是例子。 不工作 Container( decoration: BoxDe
我正在尝试创建一个容器,它在左侧有一个黄色边框,但在其余部分周围为灰色,并且保持 borderRadius。我正在尝试将其用作下拉菜单的容器,因为我无法直接在该控件上创建边框。 它应该是这样的: 在
使用以下代码时收到警告,但我的应用程序运行良好: ════════ Exception caught by rendering library ════════════════════════════
我所有的 gif 都在非纯色背景上。现在让 GIF 遵守 borderRadius 的唯一方法是使用一种名为 overlayColor 的 hack: Rounded corner issue wit
我是 React Native 的新手。我需要一个从 file.js 读取的下拉列表。我使用的选择器如下: this.setState({PickerValueHolderCity: itemVal
我想忽略边框半径为 50%(圆)的 div 上的 click/touchstart 事件,当它未在可见圆上单击时(因此当您单击 div 的一 Angular 时)。 我确实写了一个非常简单的函数(它不
borderRadius 样式属性无法正确更改组件的边框。 我希望在红色背景上看到一个绿色圆圈,没有任何空白。相反,我看到了这个。 class Healthie extends React.Compo
我可以圆化使用 highcharts 制作的热图的边缘吗? 在这里查看他们的示例: http://jsfiddle.net/gh/get/jquery/1.9.1/highslide-software
我正在使用 SliverAppBar和 SliverListView在我的项目中。 我需要BorderRadius到我的 SliverList这是我的 SliverAppBar 的底部. 这是我需要的
{data} 我想让 table 的边缘变圆,但上面的样式根本不起作用。有没有办法做到这一点 ? 最佳答案 根据评论中的讨论,似乎其中一个类覆盖了内联样式。发生这种情况的唯
我如何传递一个从纯 CSS 中获取的 borderRadius ,例如 border-radius: 50% 50% 4px 50% 到react-native? 我试过了 borderRadius:
如何使用 htmlpurifier 允许 borderRadius? 我找到了这个,但它似乎不适用于当前版本的 htmlpurifier,也许他们改变了您添加自己的 css 的方式? http://h
我想在下面的图像边缘加边框 enter image description here 但是虽然我在我的代码中添加了装饰,但边框代码不起作用。你能告诉我哪里出错了吗? 这是我的代码; Containe
Container( child: Text( 'This is a Container', textScaleFactor: 2,
我正在尝试为带有动画的元素设置边框半径,如下所示: $(element).hover(function(){ $(this).animate({borderRadius : 5}); }, f
我希望 imageView 的“图像”属性周围有一个边框。然而,在 android 系统上,这是行不通的——至少,在开发人员看来是行不通的。 出现的是图像,没有边框。我认为它以某种方式位于边框的“顶部
我最近在插件构建期间升级到了 Firefox 14.0.1。该插件同时为 border-radius、border-width、border-color 以及各种其他属性设置动画。其他浏览器或以前版本
函数如下: function lastmenuborder() { var articleparent = document.getElementById('article').parentN
您好,这是我正在使用的代码: menuItemButtonContainer: { marginRight: 1, marginLeft: 1, marginTop: 1,
import React, { Component } from 'react'; import './App.css'; import Screen from './components/Scree
我是一名优秀的程序员,十分优秀!