Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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
Dart 在颤振中创建尖头/斜角小部件_Dart_Flutter - Fatal编程技术网

Dart 在颤振中创建尖头/斜角小部件

Dart 在颤振中创建尖头/斜角小部件,dart,flutter,Dart,Flutter,如何在颤振中创建此斜面形状?它应该支持一个子对象,当子对象大小改变时,该子对象可以居中并缩放 可以通过将ClipPath与BeveledRectangleBorder一起使用来实现这一点 范例 结果 自定义剪辑路径 进口“包装:颤振/材料.省道”; void main=>runAppMyApp; 类MyApp扩展了无状态小部件{ @凌驾 小部件构建上下文上下文{ 返回材料PP 主页:, ; } } 类主页扩展了StatefulWidget{ @凌驾 _HomePageState createSt

如何在颤振中创建此斜面形状?它应该支持一个子对象,当子对象大小改变时,该子对象可以居中并缩放


可以通过将ClipPath与BeveledRectangleBorder一起使用来实现这一点

范例

结果

自定义剪辑路径

进口“包装:颤振/材料.省道”; void main=>runAppMyApp; 类MyApp扩展了无状态小部件{ @凌驾 小部件构建上下文上下文{ 返回材料PP 主页:, ; } } 类主页扩展了StatefulWidget{ @凌驾 _HomePageState createState=>\u HomePageState; } 类_HomePageState扩展状态{ @凌驾 小部件构建上下文上下文{ 返回脚手架 正文:中 孩子:克利帕斯 克利伯:天空, 子:容器 宽度:400, 身高:200, 颜色:颜色,红色, 儿童:中心 子:文本'80', 样式:TextStylecolor:Colors.white,fontSize:85.0, , , , , ; } } 类裁剪器{ @凌驾 getClipSize大小{ 双h=尺寸。高度; 双w=尺寸。宽度; 双xOffset=0.1; 路径=路径 ..lineTow*xOffset,h ..lineTow-w*xOffset,h ..线路牵引,h/2 ..lineTow-w*xOffset,0 ..lineTow*xOffset,0.0 ..直线至0.0,h/2 ..lineTow*xOffset,h; 返回路径; } @凌驾 布尔应该重新调整客户剪辑器oldClipper{ 返回true; } }
这看起来很棒!但似乎拐角总是以45度角修剪。是否有办法调整此角度以达到问题中图像的外观?非常好,谢谢!
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Custom Shape',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: CustomShapeDemo(),
    );
  }
}

class CustomShapeDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text('Custom Shape Demo'),
        ),
        body: Center(
          child: ClipPath(
            clipper: ShapeBorderClipper(
              shape: BeveledRectangleBorder(
                  borderRadius: BorderRadius.circular(100.0)),
            ),
            child: Container(
              height: 200.0,
              width: 400.0,
              color: Colors.red,
              child: Center(
                child: Text('80',
                    style: TextStyle(color: Colors.white, fontSize: 85.0)),
              ),
            ),
          ),
        ));
  }
}