【Flutter】Flutter 布局组件 ( PhysicalModel 组件 )(一)

简介: 【Flutter】Flutter 布局组件 ( PhysicalModel 组件 )(一)

文章目录

一、PhysicalModel 组件

二、 完整代码示例

三、 相关资源





一、PhysicalModel 组件


PhysicalModel 组件 : 可以将布局显示成不同的形状 ,


class PhysicalModel extends SingleChildRenderObjectWidget {
  const PhysicalModel({
    Key key,
    this.shape = BoxShape.rectangle, // 形状 : 圆形 , 矩形 
    this.clipBehavior = Clip.none, // 裁剪行为
    this.borderRadius,  // 圆角半径 
    this.elevation = 0.0,
    @required this.color, // 颜色值 
    this.shadowColor = const Color(0xFF000000), // 背景颜色
    Widget child, // 被裁减的组件
  }) : assert(shape != null),
       assert(elevation != null && elevation >= 0.0),
       assert(color != null),
       assert(shadowColor != null),
       assert(clipBehavior != null),
       super(key: key, child: child);
}


PhysicalModel 组件用法 :


设置裁剪形状 : 默认矩形 , 可以在 shape 字段设置圆形 ;

设置背景颜色 : color 字段设置背景颜色 , Color 类型 ;

设置圆角半径 : borderRadius 字段设置 , BorderRadius 类型 ;

设置裁剪行为 : clipBehavior 字段设置裁剪行为 , Clip 枚举类型 , 无/有锯齿/抗锯齿/抗锯齿+保存图层 ;

设置被裁剪的组件 : child 字段设置被裁减的组件 , Widget 类型 ;

PhysicalModel(

 color: 背景颜色 ( Color 类型 ),

 

// 设置圆角半径 15
  borderRadius: 圆角半径 ( BorderRadius 类型 ),
  // 设置裁剪行为 , 抗锯齿
  clipBehavior: Clip 枚举类型 ( 无/有锯齿/抗锯齿/抗锯齿+保存图层 ),
  // 设置被裁剪的组件 
  child: 被裁剪的组件 ( Widget 类型 ),
)



代码示例 : PhysicalModel 组件裁剪 PageView 组件 , 将 PageView 组件裁剪成圆角矩形样式 ;


PhysicalModel(
  color: Colors.transparent,
  // 设置圆角半径 15
  borderRadius: BorderRadius.circular(50),
  // 设置裁剪行为 , 抗锯齿
  clipBehavior: Clip.antiAlias,
  // 设置 PageView 组件
  child:
  PageView(
    // 设置 PageView 中封装的若干组件
    children: <Widget>[
      // 第一个页面组件
      Container(
        // 设置居中方式 , 居中显示
        alignment:Alignment.center,
        // 设置装饰器 , 绿色背景
        decoration: BoxDecoration(color: Colors.green),
        // 显示的主要文字
        child: Text("页面 0", style: TextStyle(fontSize: 20, color: Colors.black),),
      ),
      // 第二个页面组件
      Container(
        // 设置居中方式 , 居中显示
        alignment:Alignment.center,
        // 设置装饰器 , 绿色背景
        decoration: BoxDecoration(color: Colors.red),
        // 显示的主要文字
        child: Text("页面 1", style: TextStyle(fontSize: 20, color: Colors.white),),
      ),
      // 第三个页面组件
      Container(
        // 设置居中方式 , 居中显示
        alignment:Alignment.center,
        // 设置装饰器 , 绿色背景
        decoration: BoxDecoration(color: Colors.black),
        // 显示的主要文字
        child: Text("页面 2", style: TextStyle(fontSize: 20, color: Colors.yellow),),
      ),
    ],
  ),
),


目录
相关文章
|
9月前
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
531 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
12月前
|
缓存 监控 前端开发
优化 Flutter 应用启动速度的策略,涵盖理解启动过程、资源加载优化、减少初始化工作、界面布局优化、异步初始化、预加载关键数据、性能监控与分析等方面
本文探讨了优化 Flutter 应用启动速度的策略,涵盖理解启动过程、资源加载优化、减少初始化工作、界面布局优化、异步初始化、预加载关键数据、性能监控与分析等方面,并通过案例分析展示了具体措施和效果,强调了持续优化的重要性及未来优化方向。
506 10
|
10月前
|
Dart 前端开发
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
349 75
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
10月前
|
Dart 前端开发 容器
【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
327 18
【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
8月前
|
索引
【Flutter 开发必备】AzListView 组件全解析,打造丝滑索引列表!
在 Flutter 开发中,AzListView 是实现字母索引分类列表的理想选择。它支持 A-Z 快速跳转、悬浮分组标题、自定义 UI 和高效性能,适用于通讯录、城市选择等场景。本文将详细解析 AzListView 的核心参数和实战示例,助你轻松实现流畅的索引列表。
353 7
|
11月前
|
存储 容器
Flutter 构建自适应布局
Flutter 构建自适应布局
318 2
Flutter 构建自适应布局
|
12月前
|
开发框架 数据安全/隐私保护 开发者
Flutter 是一款强大的跨平台移动应用开发框架,本文深入探讨了其布局与样式设计
Flutter 是一款强大的跨平台移动应用开发框架,本文深入探讨了其布局与样式设计,涵盖布局基础、常用组件、样式设计、实战应用、响应式布局及性能优化等方面,助力开发者打造精美用户界面。
307 7
|
开发者 容器
Flutter&鸿蒙next 布局架构原理详解
本文详细介绍了 Flutter 中的主要布局方式,包括 Row、Column、Stack、Container、ListView 和 GridView 等布局组件的架构原理及使用场景。通过了解这些布局 Widget 的基本概念、关键属性和布局原理,开发者可以更高效地构建复杂的用户界面。此外,文章还提供了布局优化技巧,帮助提升应用性能。
297 4
|
容器
深入理解 Flutter 鸿蒙版的 Stack 布局:适配屏幕与层叠样式布局
Flutter 的 Stack 布局组件允许你将多个子组件层叠在一起,实现复杂的界面效果。本文介绍了 Stack 的基本用法、核心概念(如子组件层叠、Positioned 组件和对齐属性),以及如何使用 MediaQuery 和 LayoutBuilder 实现响应式设计。通过示例展示了照片展示与文字描述、动态调整层叠布局等高级用法,帮助你构建更加精美和实用的 Flutter 应用。
518 2
Flutter 自定义组件继承与调用的高级使用方式
本文深入探讨了 Flutter 中自定义组件的高级使用方式,包括创建基本自定义组件、继承现有组件、使用 Mixins 和组合模式等。通过这些方法,您可以构建灵活、可重用且易于维护的 UI 组件,从而提升开发效率和代码质量。
356 1