创建一个很简单的可变的Widget

效果就是点击字的时候会变化

完整代码:

class CarPage extends StatefulWidget {
@override
_CarState createState() {
return _CarState();
}
} class _CarState extends State<CarPage> {
String showTitle = '今天天机很热!'; // 点击时触发方法
void clickBtn() {
setState(() {
showTitle = '那是相当的热啊';
});
} @override
Widget build(BuildContext context) {
// TODO: implement build
return Container(
margin: EdgeInsets.fromLTRB(, , , ),
child: GestureDetector(
child: Text(showTitle),
onTap: clickBtn,
),
);
}
}

下面的例子是你点击哪一行汉字的时候颜色会变深

class CarPage extends StatefulWidget {
@override
_CarState createState() {
return _CarState();
}
} class _CarState extends State<CarPage> {
final List showTitleList = [
'原来如此',
'投影',
'不漏声色',
'蜜蜂',
'扎心',
'画',
'梦醒的夏天',
'Forever 21',
'青柠',
'昨日青空'
]; //记录选中的index
int selecteIndex = -;
// 点击时触发方法
void clickBtn() {
print('' + selecteIndex.toString());
setState(() {});
} @override
Widget build(BuildContext context) {
// TODO: implement build
return ListView.builder(
itemCount: showTitleList.length,
itemBuilder: (context, index) {
return Center(
child: Container(
margin: EdgeInsets.only(top: ),
child: GestureDetector(
child: Text(
showTitleList[index],
style: TextStyle(fontSize: , color: index == selecteIndex ? Colors.red[] : Colors.red[]),
textAlign: TextAlign.center,
),
onTap: () {
selecteIndex = index;
print(index);
clickBtn();
},
),
),
);
});
}
}

19.8.8 flutter 学习之创建第一个可变的Widget的更多相关文章

  1. Robot Framework入门学习2 创建第一个测试用例

    本文章部分内容引自以下网址,感谢作者的辛苦分享 http://www.cnblogs.com/fnng/p/3871712.html http://blog.csdn.net/tulituqi/art ...

  2. android学习三---创建第一个程序

    1.创建一个Helloworld程序 1.1 new-android application 点击file-new-android application出现如下界面 填上应用名,项目名,包名,选择所 ...

  3. 19.8.28 flutter学习笔记

    1:字符串的操作 length打印字符串的长度.“isEmpty”判断字符串是否为空. “contains()是否包含某个字符串”.”substring(startIndex,endIndex)截取一 ...

  4. Flask学习 1创建第一个页面

    #!/usr/bin/env python # encoding: utf-8 """ @version: v1.0 @author: cxa @file: hello. ...

  5. Django:学习笔记(2)——创建第一个应用

    Django:学习笔记(2)——创建第一个应用 创建应用 在 Django 中,每一个应用都是一个 Python 包,并且遵循着相同的约定.Django 自带一个工具,可以帮你生成应用的基础目录结构, ...

  6. Flutter学习笔记(19)--加载本地图片

    如需转载,请注明出处:Flutter学习笔记(19)--加载本地图片 上一篇博客正好用到了本地的图片,记录一下用法: 首先新建一个文件夹,这个文件夹要跟目录下 然后在pubspec.yaml里面声明出 ...

  7. ThinkPHP学习(二)理清ThinkPHP的目录结构及访问规则,创建第一个控制器

    ThinkPHP的目录结构 回顾上一篇的安装目录: 目录对应关系 F:\\PHP├─index.php       入口文件├─README.md       README文件├─Applicatio ...

  8. Ionic学习记录(一):ionic及cordova安装、创建第一个应用、项目结构

    目录: 一.ionic的安装 二.创建第一个应用程序 三.浏览器中预览应用 四.项目结构 五.添加页面 一.ionic的安装 使用Ionic创建和开发应用程序主要通过Ionic命令行实用程序(“CLI ...

  9. Flutter学习笔记(8)--Dart面向对象

    如需转载,请注明出处:Flutter学习笔记(7)--Dart异常处理 Dart作为高级语言,支持面向对象的很多特性,并且支持基于mixin的继承方式,基于mixin的继承方式是指:一个类可以继承自多 ...

随机推荐

  1. C语言:“冒泡排序”与“二分法”

    1.冒泡排序: what:将元素进行两两比较,大的(小的)向后排. when:数组中有多个元素,需要进行比较排序比较的时候使用. how:N个数字来排队,两两比较小靠前.(升序) 外层循环:N-1(控 ...

  2. GO-REDIS的一些高级用法

    1. 前言 说到Golang的Redis库,用到最多的恐怕是redigo 和 go-redis.其中 redigo 不支持对集群的访问.本文想聊聊go-redis 2个高级用法 2. 开启对Clust ...

  3. 惊讶!我定的日志规范被CTO在全公司推广了

    打印日志是一门艺术,但长期被开发同学所忽视.日志就像车辆保险,没人愿意为保险付钱,但是一旦出了问题都又想有保险可用.我们打印日志的时候都很随意,可是用的时候会吐槽各种 SB 包括自己!写好每一条日志吧 ...

  4. @Results注解使用方法

    @SelectProvider(type = HospitalSqlGenerator.class, method = "queryHospitalData") @Results( ...

  5. fio 硬盘测试工具

    一.windows环境 1. 安装fio:http://www.bluestop.org/fio/ 可以选择不同版本的安装,安装后在C:\Program Files\fio目录中可以找到fio的执行程 ...

  6. Linux 操作命令简

    一.Linux命令及获取帮助 1.Linux命令的格式1)了解Linux命令的语法格式:命令 [选项] [参数]2)掌握命令格式中命令.选项.参数的具体含义a)命令:告诉Linux(UNIX)操作系统 ...

  7. Java 架构师 -- 必读书单

    “学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会. 个人认为看书有两点好处: 1.能出版出来的书一定是经过反复的思考.雕琢和审核的,因此从专业性的角度来说,一本好书的价值远 ...

  8. idea导入eclipse的web项目

    idea导入eclipse的web项目 一.导入自己的web项目      步骤:File->New->Project from Existing Source... 二.选择项目的所在位 ...

  9. 设置mysql 5.7 可以外部访问的办法

    这里记录一下. 一台服务器上面的mysql出现了 无法外面连的情况解决办法: . 先尝试在宿主机上面登录 mysql -uroot -p 输入密码,可以登录. 然后 use mysql # 切换数据库 ...

  10. ETL初探

    初识ETL 概念 ETL即Extract-Transform-Load.目的是将分散.凌乱.异质的数据整合在一起,为决策提供分析数据,是BI项目(Business Intellifence)项目中重要 ...