flutter初见
This commit is contained in:
parent
e90194314c
commit
4a81506aec
@ -11,6 +11,7 @@ categories:
|
||||
### 搭建开发环境
|
||||
1. 下载解压Flutter的sdk,并且将其中的bin目录配置到环境变量
|
||||
2. Android Studio安装安卓SDK,通常启动时如果未安装过都会自动执行下载安装
|
||||
<!-- more -->
|
||||
3. Android Studio安装Flutter的插件
|
||||

|
||||
安装flutter插件时会自动安装其依赖的dart插件
|
||||
@ -24,3 +25,109 @@ categories:
|
||||
No devices available代表还未启动虚拟机或者连接真机
|
||||
其余几项都是校验通过的
|
||||
|
||||
### 创建flutter项目
|
||||
当Android Studio的flutter插件安装无误之后,就可以创建flutter项目了
|
||||

|
||||
|
||||
新建的是一个flutter的demo项目
|
||||
包含一个标题栏,一个按钮,和中间区域内的若干文字
|
||||
点击按钮时进行计数,文字会相应变化
|
||||

|
||||
|
||||
项目当中包含一个main.dart文件
|
||||
内容如下
|
||||
```dart
|
||||
// 引入material样式
|
||||
import 'package:flutter/material.dart';
|
||||
// 程序运行入口
|
||||
void main() => runApp(MyApp());
|
||||
|
||||
// App实体类
|
||||
class MyApp extends StatelessWidget {
|
||||
// This widget is the root of your application.
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MaterialApp(
|
||||
title: 'Flutter Demo',
|
||||
theme: ThemeData(
|
||||
// 主题样式
|
||||
primarySwatch: Colors.blue,
|
||||
),
|
||||
// 首页对象以及首页的标题
|
||||
home: 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> {
|
||||
int _counter = 0;
|
||||
|
||||
void _incrementCounter() {
|
||||
setState(() { // 计数方法
|
||||
_counter++;
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
// 标题栏
|
||||
title: Text(widget.title),
|
||||
),
|
||||
body: Center( // 居中元素
|
||||
// 子元素
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: <Widget>[
|
||||
Text(
|
||||
'You have pushed the button this many times:',
|
||||
),
|
||||
Text( // 文字元素以及样式
|
||||
'$_counter',
|
||||
style: Theme.of(context).textTheme.display1,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
// 浮动按钮
|
||||
floatingActionButton: FloatingActionButton(
|
||||
onPressed: _incrementCounter, // 点击事件
|
||||
tooltip: 'Increment',
|
||||
child: Icon(Icons.add), // 子元素是一个图标
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
```
|
||||
以上代码当中构建对象都省略了new关键字
|
||||
其中的每个对象都是一个组件(Widget)
|
||||
|
||||
### 常用组件
|
||||
组件以及组件的一些属性,基本算是前端html和css的思想
|
||||
|
||||
#### Text组件
|
||||
这是一个文本组件,可以用于在App当中显示文字
|
||||
```dart
|
||||
Text(
|
||||
'这是一段文字',
|
||||
textAlign: TextAlign.left, // 文本对齐方式(左对齐)
|
||||
maxLines: 3, // 最大显示行数
|
||||
overflow: TextOverflow.ellipsis, // 文本长度溢出的处理方式(显示为...)
|
||||
style: TextStyle(
|
||||
color: Color.fromARGB(255, 20, 130, 40), // 文字颜色
|
||||
fontSize: 20, // 字号大小
|
||||
decoration: TextDecoration.underline, // 下划线
|
||||
decorationStyle: TextDecorationStyle.solid // 下划线类型
|
||||
)
|
||||
)
|
||||
```
|
||||
Loading…
x
Reference in New Issue
Block a user