Флаттер: нарисовать полукруг

Как правило, вам требуется, чтобы вызывающий объект передавал в массиве результатов.

void splitString( const char string[], int result[], int n) {
    //....
}

Это выгодно, потому что вызывающий может выделять эту память там, где они хотят.

0
задан M.Ali 28 February 2019 в 22:34
поделиться

1 ответ

Я не понимаю, что вы имеете в виду в «Я не хочу виджет Контейнер и не изменяю его радиус», но вот мой способ создать полукруг:

class Test extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return new Scaffold(
          body: new Container(
            padding: EdgeInsets.all(64.0),
            child: new Column(
              children: <Widget>[
                new ClipPath(
                  clipper: new CustomHalfCircleClipper(),
                  child: new Container(
                    height: 300.0,
                    width: 300.0,
                    decoration: new BoxDecoration(color: Colors.blue, borderRadius: BorderRadius.circular(150.0) ),
                  ),
                )
              ],
            ),
          ),
        );
      }
    }

    class CustomHalfCircleClipper extends CustomClipper<Path> {
      @override
      Path getClip(Size size) {
        final Path path = new Path();
        path.lineTo(0.0, size.height / 2);
        path.lineTo(size.width, size.height / 2);
        path.lineTo(size.width, 0);
        return path;
      }
      @override
      bool shouldReclip(CustomClipper<Path> oldClipper) {
        return true;
      }
    }
0
ответ дан Sondos Saadedin 28 February 2019 в 22:34
поделиться