标签:widget Context title AppBar context 树中 Scaffold
build()方法有一个context参数,它是BuildContext类的一个实例,表示当前widget在widget树中的上下文,每一个widget都会对应一个context对象(因为每一个widget都是widget树上的一个节点)。实际上,context是当前widget在widget树中位置中执行”相关操作“的一个句柄,比如它提供了从当前widget开始向上遍历widget树以及按照widget类型查找父级widget的方法。
1 import 'package:flutter/material.dart'; 2 3 class TestContextRoute extends StatelessWidget { 4 @override 5 Widget build(BuildContext context) { 6 return Scaffold( 7 appBar: AppBar( 8 title: Text('Test Context'), 9 ), 10 body: Container( 11 child: Builder(builder: (context){ 12 // 在Widget树中向上查找父级‘Scaffold’ widget 13 Scaffold scaffold = context.ancestorWidgetOfExactType(Scaffold); 14 // 直接返回 AppBar的title 15 return (scaffold.appBar as AppBar).title; 16 }), 17 ), 18 ); 19 } 20 }
标签:widget,Context,title,AppBar,context,树中,Scaffold 来源: https://www.cnblogs.com/timba1322/p/12485527.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。