如何在Flutter中将整个应用程序的角落变为圆角?

4
我希望我的应用程序能够模拟大多数现代智能手机所具有的圆角显示屏幕效果,通过将应用程序的边角变为圆形并将背景设为黑色实现。 目前,TikTok 应用程序就是这样做的。
我已经尝试使用Material widget的borderRadius属性和将内容包装成一个具有圆角的容器,但都没有奏效。 你们有什么好主意吗?

当您在圆角设备中运行应用程序时,它会自动设置圆角。 - Sanjayrajsinh
是的,不过我的意思是模拟那些显示屏角落没有圆角的设备。 - Lucas Aschenbach
1个回答

17

我会在最高级别使用ClipRRect

以下是完整示例:

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: ClipRRect(
        borderRadius: BorderRadius.circular(20.0),
        child: MyHomePage(title: 'Flutter Demo Home Page')),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(title: Text("Something")),
        body: Container(alignment: Alignment.center, color: Colors.blue, child: Text("hello")));
  }
}

这是最终结果:

在此输入图像描述

也许你会想将半径从20减小到8,以使结果与你提供的图片类似。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接