【Flutter】 Flutter 基础笔记 三

如何导入Widget?

	在Flutter中,要是用`Material Design`库中的小部件,则需要导入`material.dart`包。要是用iOS样式widget,请导入Cupertino。要使用更基本的窗口widget'库,请打入widget库。或者,当然,也可以导入自己编写的widget。(无论你导入那个包,Dart都只会导入在您的应用使用的widget)

如何使用Widget并将其嵌套已形成Widget树?

在Flutter中,几乎所有东西都是widget。
widget是用户界面的基本构建块,您将widget组成一个层次结构,调用gwidget树。每个窗口widget都嵌套在父窗口widget中,并从其父窗口继承属性。甚至应用程序本身也是一个组件,没有单独的“应用程序”对象。相反,根widget担任此角色。
Widget可以定义:
- 结构元素 - 如按钮或菜单
- 问题元素 - 想字体或颜色主题
- 类似布局的填充或对其的一个方向

以下示例使用`Material`库中的widget显示“Hello world!”应用程序。在此事例中,widget树嵌套在MaterialApp的跟widget中。
	import 'package:flutter/material.dart';

	void main() => runApp(MyApp());
	class MyApp extends StatelessWidget{
		@override
		Widget build(BuildContext context){
			return MaterialApp(
				title:"Welcome to Flutter",
				home: Scaffold(
					appBar: AppBar(
						title: Text('Welcome to Flutter'),
					),
					body:Center(
						child: Text('Hello world');
					),
				),
			);
		}
	}

如何创建可重用的Widget?

	在Flutter中,同样需要定义一个类来创建自定义widget,然后重用widget。您还可以定义和调用返回可重用小部件的函数,如一下事例中的构建函数所示。
	class CustomCar extends StatelessWidget{
		CustomCard({@required this.index, @required this.onPress});
		final index ;
		final Function onPress;
		
		@override
		Widget build(BuildContext context){
			return Card(
				child: Column(
					children:<Widget>[Text('Card $index'),FlatButton(child: const Text('Press'),onPressed:this.onPress,),]
				),
			),
		}
	}


	//Usage
	CustomCard(
		index:index,
		onPress(){
			print("Card $index");
		}
	)	

CustomCard类的构造函数使用Dart的大括号语法 {}来配置 可选参数
如果要表示必须的字段,请从构造函数中删除{},或者将@required添加到 构造函数中。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值