Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何像使用剪辑路径或任何其他小部件附加的文件一样在颤振中拥有曲线角点?_Flutter_Flutter Layout_Flutter Clippath - Fatal编程技术网

Flutter 如何像使用剪辑路径或任何其他小部件附加的文件一样在颤振中拥有曲线角点?

Flutter 如何像使用剪辑路径或任何其他小部件附加的文件一样在颤振中拥有曲线角点?,flutter,flutter-layout,flutter-clippath,Flutter,Flutter Layout,Flutter Clippath,如何在顶部、右侧和左侧创建曲线角点 在类似于使用剪辑路径或任何其他小部件附加的文件的颤振中?我试图在容器小部件中使用一个名为clip path的子对象来弯曲角点。请任何人都能指引我。是否有其他小部件来弯曲拐角?这不能在框装饰中使用边框半径 class ClipPathClass extends CustomClipper<Path> { @override Path getClip(Size size) { Path path = Path(); path

如何在顶部、右侧和左侧创建曲线角点

在类似于使用剪辑路径或任何其他小部件附加的文件的颤振中?我试图在容器小部件中使用一个名为clip path的子对象来弯曲角点。请任何人都能指引我。是否有其他小部件来弯曲拐角?这不能在框装饰中使用边框半径

class ClipPathClass extends CustomClipper<Path> {
  @override
  Path getClip(Size size) {
    Path path = Path();

    path.moveTo(size.width / 2, 0);
    path.quadraticBezierTo(size.width, size.height, size.width, size.height);
    path.lineTo(size.width, size.height);

    path.lineTo(0, size.height);

    path.close();
    return path;
  }

  @override
  bool shouldReclip(covariant CustomClipper<Path> oldClipper) => false;
}
class ClipPathClass扩展了CustomClipper{
@凌驾
路径getClip(大小){
路径=路径();
path.moveTo(size.width/2,0);
路径。方形Bezierto(大小。宽度,大小。高度,大小。宽度,大小。高度);
path.lineTo(大小.宽度,大小.高度);
path.lineTo(0,大小.高度);
path.close();
返回路径;
}
@凌驾
bool shouldReclip(协变CustomClipper oldClipper)=>false;
}

如果您正在使用图像并尝试弯曲边框 然后在BoxDecoration()中使用DecorationImage()和fit参数

如果您不使用图像,则对父容器和子容器使用不同的颜色颜色,否则您会认为边界半径没有影响

若不使用“拟合”属性,加载的图像将根据原始图像纵横比调整大小。

比如说

Container(
                decoration: BoxDecoration(
                    image: DecorationImage(
                        image: NetworkImage(imageUrl), fit: BoxFit.fill),
                    borderRadius: BorderRadius.circular(8)),
              ),

您可以尝试进行一些更改,我想您可能会得到:

import 'package:flutter/material.dart';

class Test extends StatefulWidget {
  @override
  _TestState createState() => _TestState();
}

class _TestState extends State<Test> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        mainAxisAlignment: MainAxisAlignment.end,
        children: [
          Center(
            child: Container(
              height: 400,
              width: 400,
              child: Transform.rotate(
                angle: 3.14 / 4,
                child: ClipRRect(
                  borderRadius: BorderRadius.circular(20),
                  child: ColoredBox(
                    color: Colors.blueAccent,
                  ),
                ),
              ),
            ),
          ),
        ],
      ),
    );
  }
}
导入“包装:颤振/材料.省道”;
类测试扩展了StatefulWidget{
@凌驾
_TestState createState();
}
类_TestState扩展状态{
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:专栏(
mainAxisAlignment:mainAxisAlignment.end,
儿童:[
居中(
子:容器(
身高:400,
宽度:400,
子对象:Transform.rotate(
角度:3.14/4,
孩子:ClipRRect(
边界半径:边界半径。圆形(20),
孩子:彩色盒子(
颜色:Colors.blueAccent,
),
),
),
),
),
],
),
);
}
}

我认为他需要创建一个自定义形状,而不是使用image@ShubhamNarkhede但他没有证明这是正确的。我有一个容器在一个容器里。父容器具有宽度无限的透明颜色。子容器具有无限宽度,顶部、右角和左角具有曲线角。但是,高度会随着小部件的扩展而扩展。使用上面的代码,容器会旋转,但是,我不想旋转,我只想要一个自定义形状。我想要一个高度不定的三角形。我的代码在注释下面,以供参考。