Flutter:堆组件Stack
简介堆组件Stack,其实该组件主要是用于每个子组件对其和定位。默认情况下Stack组件下的子组件都在左上角。
堆组件Stack,其实该组件主要是用于每个子组件对其和定位。默认情况下Stack组件下的子组件都在左上角。可以通过设置Stack的alignment属性来将所有的子组件的对其方式设置成top、right、left、bottom。
我们还可以通过Positioned组件来指定组件的位置,但是这个组件必须在Stack组件中使用。
本节我们还要学习另外一个组件就是IndexedStack组件,Index我们都知道表示索引,所以在一堆组件中,我们如果指定一个索引值,那么就会显示对应的那个组件,而其他组件将会影藏。
1、对其方式
import 'package:flutter/material.dart';
class DemoStack extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Stack(
alignment: Alignment.topRight,
children: <Widget>[
Text(
"Flutter",
style: TextStyle(
color: Colors.red,
),
),
Container(
width: 100.0,
height: 100.0,
alignment: Alignment.center,
decoration: BoxDecoration(
border: Border.all(
color: Colors.blue,
)),
child: Text("C"),
),
],
);
}
}
上面将Stack的对其方式设置成了topRight对其,所有上面的文本对其就在右上角。
2、定位方式
import 'package:flutter/material.dart';
class DemoStack extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Stack(
alignment: Alignment.topRight,
children: <Widget>[
Text(
"Flutter",
style: TextStyle(
color: Colors.red,
),
),
Container(
width: 100.0,
height: 100.0,
alignment: Alignment.center,
decoration: BoxDecoration(
border: Border.all(
color: Colors.blue,
)),
child: Text("C"),
),
Positioned(
bottom: 0.0,
right: 50.0,
child: Text('XH'),
),
],
);
}
}
3、IndexedStack组件使用
import 'package:flutter/material.dart';
class DemoStack extends StatefulWidget {
@override
_DemoStackState createState() => _DemoStackState();
}
class _DemoStackState extends State<DemoStack> {
int index = 0;
@override
Widget build(BuildContext context) {
return Column(
children: <Widget>[
IndexedStack(
index: index,
children: <Widget>[
Text('Hello Flutter'),
Text('Hello Dart'),
Text('Hello Golang'),
Text('Hello Python'),
],
),
RaisedButton(
child: Text('切换下一个'),
onPressed: () {
setState(() {
index = index + 1;
if (index >= 4) {
index = 0;
}
});
},
)
],
);
}
}

网页扫描二维码库:Html5-Qrcode,官网地址:https://scanapp.org/html5-qrcode-docs/
nodejs中使用npm和yarn,使用最新阿里云镜像 aliyun mirror,网上很多还是文章用的是下面这个地址~~yarn config set registry https://registry.npm.taobao.org~~
OpenCV-Python图像通道的拆分和合并,主要介绍两个函数:一、拆分通道使用函数cv2.split;二、合并通道使用函数cv2.merge,但是一定要注意合并通道的顺序问题,OpenCV是GBR,不是RGB,如果顺序不是GBR,合并出来的图像就会出现颜色问题,与原图的颜色就不一致了.
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。
you-get是一个基于Python的开源命令行工具,主要用于下载来自多个视频网站的视频、音频和图片资源。它支持YouTube、Bilibili、Vimeo等平台,可通过简单命令快速获取下载链接并支持自定义保存路径和格式。
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题