创建一个很简单的可变的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. Linux 如何上传/下载文件

    注: 如果在操作中,提示没有权限请使用" su - "命令来切换当前账号至" root " 账号 一 .    使用 rz / sz 命令 1 .  登陆 Li ...

  2. 组件推荐Forloop.HtmlHelpers 用来实现MVC的js加载顺序

    最近在开发的时候遇到js加载顺序的问题,layui在底部声明了js,但是我想在页面其他地方使用分布视图,分布视图内有自己的js逻辑,发现不能执行,一看就发现,这里的js应该加在layui后面执行才能有 ...

  3. 快速分析CPU性能问题

    Linux的CPU性能问题,相信在工作中很容易遇到.这篇文章会总结出一个大概的套路,相信能够解决工作中90%以上的CPU性能问题! 会告诉大家在不同的场景下,cpu性能指标工具如何选择,性能瓶颈怎么找 ...

  4. AKKA文档2.3(java版)—什么是角色

    原文:http://doc.akka.io/docs/akka/2.3.5/general/actors.html译者:Vitas 什么是角色? 前面角色系统一节介绍了一群角色如何形成一个层次结构,并 ...

  5. Laravel模板事项

    1.模板中己显示的时间,可以在此基础上增加时间 请于{{ $order->created_at->addSeconds(config('app.order_ttl'))->forma ...

  6. C语言|作业07

    一.本周作业头 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://i-beta.cnblogs.com/posts/edit;postId=11811545 我在这个课程的 ...

  7. 1. centos7 的安装

    选择上海时间 我们选择桌面版 选择手动配置分区 选择标准分区 修改主机名 开始安装 设置密码 设置用户名 接下来等待安装完 同样的操作再安装3台机器!!这里不多赘述. 安装完之后就重启 接下来给不同机 ...

  8. Diameter of Binary Tree

    Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a b ...

  9. python的学习之路(四)

    #迭代器,取值只能用next方法,不能随意取值name = iter([11,22,33,44])print(name.__next__())print(name.__next__())print(n ...

  10. Ubuntu - Ubuntu应用记录(2)

    1.安装Ubuntu16.04的一种分区分案(240G固态硬盘小例) 1.创建boot分区(引导分区)-> 512M ->逻辑分区->空间起始位置->Ext4日志文件系统-&g ...