dart+j+设计

flutter 组件大全

01、flutter组件之SafeArea

时间 2020.12.16日

自我理解:

把布局始终显示在首页页面的安全区域,用于适配各种异型屏幕(但是我试了一下 手机有限用的华为荣耀的刘海屏没有什么作用呀)

官网地址视频演示

上代码:
class SafeAreaDemo extends StatefulWidget{
  @override
  State<StatefulWidget> createState() {
    return _SafeAreaState();
  }

}
class _SafeAreaState extends State<SafeAreaDemo>{
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        top: false,
        bottom: false,
        left: false,
        right: false,
        child: ListView(
          children: List.generate(100, (i)=> Text('this is some textthis is some textthis is some text'+i.toString())),
        ),
      )
    );
  }

}

现象

当top值为true时

image-20201217111515433

当top值为false时

image-20201217111532203

02、Opacity

 body: Row(
        children: [
          Text("我是正常字体"),
          Opacity(
              opacity: 0.5,
              child: Text(
                "我是透明字体",
                style: TextStyle(
                    color: Colors.pink,
                    backgroundColor: Colors.blue,
                    fontSize: 24.0),
              ))
        ],
      ),

效果预览

image-20201217114546373

还可以图片进行透明

image-20201217114736980

opacity:opacityValue值随便给相应的数字就可以

image-20201217114939212

官方还提供了动画不透明度

image-20201217115122825

javascript

2、简单数据类型

image-20201217125919232

image-20201217130617357

image-20201217131810809

image-20201217132200554

image-20201217132657378

image-20201217132829959

image-20201217133251774

string方法
// substr(start,length):从某个位置截取指定长度的字符
		var arr = "abcdefg"  //下表是0开始的
		var res = arr.substr(1,4); 
		console.log(res) //bcde
//字符串分割split(string) 根据里面的string分隔截取成数组
		var str = "abc4512abc123defjhjh"
		var res = str.split("12")
		var res = str.split("") //["a", "b", "c", "4", "5", "1", "2", "a", "b", "c", "1", "2", "3", "d", "e", "f", "j", "h", "j", "h"]
        
		console.log(res)
//这个方法主要用  把字符串变成数组




js 运算符

算术运算符

//声明变量
//js 的变量来源有三个 1、浏览器用户的页面获取的的、就是用户网页上写什么我就那什么?
//2、自己写死的的 3、后端发送的  后端发给浏览器起的  那发什么我就那什么?

获取变量数据类型

	var num = "10"
	console.log(typeof(num))
console.log(typeof num)
//typefo 我们知道了数据类型之后有什么用呢?
// 很有用 
//prompt取过来的值是 字符型的
// var age = prompt("请输入您的年龄");
// console.log(age);
// console.log(typeof age)  //string 我们就知道了

image-20201217154057229

image-20201217154932193

image-20201217155537221

image-20201217155846808

//1.我们程序里面的等于符号是 == 默认转换数据类型 会把字符串型的数据转换为数字型 
   	//只要值相等就可以
   	console.log(18 == "18") //true
   	
   	//2. 我们程序里面有全等 一模一样 要求两侧的值 还有 数据类型完全一致才可以
   	console.log(5 === "5") //false

image-20201217160857935

逻辑运算符

概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断

image-20201217161114429

image-20201217161831671

image-20201217162136019

赋值运算符

image-20201217162635931

image-20201217162805921

image-20201217162943350

数据类型转换

什么是数据类型转换

使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。通俗来说,就是把一种数据类型的变量转换成另外一种数据类型。

image-20201217144557660

image-20201217144607742

<script type="text/javascript">
		//1.把数字型转换为字符串型 变量.toString()
	var num = 10;
	var str = num.toString();
	console.log(str)
	console.log(typeof str)
	// 2.利用 + 拼接字符串的方法实现转换效果 隐式转换
	console.log(num + '')
	
	</script>

image-20201217145320887

var age = prompt("输入年龄")
	console.log(parseInt(age)) //取整
	console.log(parseFloat('3.14')) //这个可以取浮点数

image-20201217150303176

image-20201217151006559

<script type="text/javascript">
		var a = prompt("请输入第一个值");
		var b = prompt("请输入第二个值")
		var c  = parseFloat(a)+parseFloat(b)
		alert("最后的结果是:"+c)
	
	</script>

image-20201217151126884

image-20201217151315913

image-20201217151426816

grid布局

image-20201217174935980

image-20201217175006328

image-20201217175112918

容器是什么?

容器是大盒子 里面可以放很多东西

里面放的东西就是items 项目

image-20201217175236329

image-20201217175414621

image-20201217175511339

image-20201217175605128

image-20201217180631616

image-20201217180758096

image-20201217181119335

image-20201217181257768

image-20201217181353045

2020.12.18

流程控制

image-20201218082837971

image-20201218082947088

01顺序流程控制

image-20201218083100608

以前我们写的代码是顺序写来的 从上往下写的

02、分支流程控制IF语句

image-20201218083313922

image-20201218083413622

image-20201218083659093

image-20201218084814910

image-20201218085119716

image-20201218085453602

如果以后有很多条件的话 可以用这个 比如

学生的分数 大于90的非常棒 大于80的很棒 大于70不错 大于60的及格 大于50么有几个 如果这样的条件的话 就可以用这个语句来写

image-20201218085816744

image-20201218085935516

image-20201218090142540

02、三元表达式

image-20201218090353803

image-20201218091349871

03、swich语句

image-20201218091854365

image-20201218092058925

image-20201218092412680

image-20201218092646582

image-20201218093053916

04、循环语句for

image-20201218093215117

image-20201218093236620

image-20201218093640830

image-20201218093942038

image-20201218095120917

https://www.bilibili.com/video/BV1ux411d75J?p=77

03、FloatingActionButton

image-20201218203820180

注意:

// floatingActionButtonLocation  拜访在那个位置的属性必须要放在floatingActionButton
//外面 跟body平起平坐
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          print("clike me");
        },
        child: Icon(Icons.add),
      ),
//注意  如果要图标大一点的话 需要加个coantianer


floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
      floatingActionButton: Container( //这个地方加一下
        height: 88,
        width: 88,
        child: FloatingActionButton(
          onPressed: () {
            print("clike me");
          },
          child: Icon(
            Icons.add,
            color: Colors.white,
            size: 48,
          ),
          backgroundColor: Colors.orange,
        ),


04、Hero

当我我们页面切换是用来做动画的 页面之间切换的时候可以制作各种动画

2020.12.19

循环过儿 待会儿学

01、数组

image-20201219094616193

数组概念

image-20201219094750505

1.1、数组使用

image-20201219095003950

image-20201219095322541

1.2、获取数组中的元素

image-20201219095608368

1.3、遍历数组

比较重要的知识点

image-20201219100047064

什么是遍历 就是从头到尾访问一次

image-20201219100723287

image-20201219101115823

image-20201219101515447

1.4、数组中新增元素

image-20201219102309263

image-20201219102538663

https://www.bilibili.com/video/BV1ux411d75J?p=110

image-20201219104816103

// 用数组的元素组成字符串join()
<body>
<p id="demo">点击按钮将数组作为字符串输出。</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction(){
	var fruits = ["Banana", "Orange", "Apple", "Mango"];
	var x=document.getElementById("demo");
	x.innerHTML=fruits.join();
}
</script>
</body>
//删除数组的最后一个元素pop()
<body>

<p id="demo">单击按钮删除数组的最后一个元素。</p>
<button onclick="myFunction()">点我</button>
<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
function myFunction(){
	fruits.pop();
	var x=document.getElementById("demo");
	x.innerHTML=fruits;
}
</script>
</body>
// 数组的末尾添加新的元素 push()
<p id="demo">单击按钮给数组添加新的元素。</p>
<button onclick="myFunction()">点我</button>
<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
function myFunction(){
	fruits.push("Kiwi")
	var x=document.getElementById("demo");
	x.innerHTML=fruits;
}
</script>
//将一个数组中的元素顺序反转排序reverse()
<p id="demo">单击按钮将数组反转排序。</p>
<button onclick="myFunction()">点我</button>
<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
function myFunction(){
	fruits.reverse();
	var x=document.getElementById("demo");
	x.innerHTML=fruits;
}
</script>
//在数组的开头添加新元素 - unshift()
// 数组的末尾添加新的元素 push()
//删除数组的第一个元素 - shift()
//删除数组的最后一个元素pop()
//将一个数组中的元素顺序反转排序reverse()
// 用数组的元素组成字符串join()

https://www.bilibili.com/video/BV1ux411d75J?p=114

明天开始学函数

JAVASCRIPT核⼼技能

image-20201221091619534

image-20201221091627454

image-20201221091637461

image-20201221091643654

image-20201221091654606

image-20201221091700438

image-20201221091707454

image-20201221091715495

image-20201221091722894

image-20201221091730175

image-20201221091739471

image-20201221091747815

image-20201221091758645

image-20201221091812797

image-20201221091819284

image-20201221091826318

image-20201221091833229

image-20201221092949264

开发过程中不怎么用捕获阶段 只要是冒泡

image-20201221093130287

事件对象

image-20201221093650000

image-20201221093809620

image-20201221093840443

image-20201221094300391

这里面的this要注意

我们给Ul 绑定了事件,那么this就指向UI

e.type

image-20201221095225038

e.preventDefault

image-20201221095417214

阻止冒泡

image-20201221095931479

image-20201221100047457

事件委托(代理,委托)

image-20201221100858633

image-20201221100938129

image-20201221101049290

image-20201221101442032

image-20201221102353750

image-20201221102805543

image-20201221103019790

image-20201221103216094

image-20201221103715151

常用的键盘事件

image-20201221105501854

image-20201221110245606

image-20201221110035174

常用键盘事件

image-20201221110606675

image-20201221110501935

image-20201221110545223

这是一个键盘的案例 京东搜索页面的案例

image-20201221111047374

image-20201221111559695

image-20201221111806471

BOM浏览器对象模型

image-20201223093116354

1.BOM概述

image-20201223093208923

image-20201223093355394

2.window对象的常见事件

image-20201223094024089

image-20201223094301032

这样就能在body上面 或者head里面可以写js了

image-20201223095031706

window.addEventListener('load',function(){
    var div = document.querySelector("div");
window.addEventListener("resize",function(){
	//console.log(window.inneiWidth)
	if(window.innerWidth <= 800){
	div.style.display = "none";
	}else {
        div.style.display = "block"
    }
})
})

3.定时器

image-20201223100105847

image-20201223095904711

也可以这样写

image-20201223095955718

image-20201223100301241

image-20201223100411663

image-20201223100829063

image-20201223100937414

image-20201223101005295

image-20201223101335310

image-20201223101550654

image-20201223101930866

这个需要注意 清除定时器的时候 定时器赋值变量的时候 不能直接内部的函数调用 是局部函数 内部拿不到呢?

image-20201223102236928

image-20201223102340725

image-20201223102656837

这样就时间继续递减 这是不对的 所以加IF 判断条件

image-20201223102855414

image-20201223105837116

image-20201223105903940

image-20201223110029300

image-20201223110319758

4.JS执行队列

image-20201223113015844

image-20201223113026891

image-20201223113755618

现在的JS允许创建多个任务的

image-20201223115559829

image-20201223115606819

image-20201223115758676

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vSgRGPfW-1608721718075)(C:\Users\administered\AppData\Roaming\Typora\typora-user-images\image-20201223123841145.png)]

5.location对象

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fyxQGt3d-1608721718075)(C:\Users\administered\AppData\Roaming\Typora\typora-user-images\image-20201223124049179.png)]

image-20201223124613210

image-20201223124858407

这样就能跳转到IT网站上面去可了

image-20201223125118240

https://www.ixigua.com/6822832309511651853?id=6823982523970748936&logTag=KWPSi3OR4LxqmFk1Xzlmd

明天从这里开始学

合成创意技法

image-20201221103848847

image-20201221103859335

image-20201221103906791

image-20201221103913918

image-20201221103920782

image-20201221103926902

image-20201221103934303

image-20201221103940582

image-20201221103947040

image-20201221103953201

image-20201221104000263

image-20201221104006566

image-20201221104013871

image-20201221104031310

dart List

image-20201221144232311

image-20201221144512087

image-20201221145345871

image-20201221150538551

image-20201221150710192

image-20201221151130184

常用的循环数据方法forEach,map,where,any,every

image-20201221151422798

image-20201221151825897

dart 函数


image-20201221154406333

image-20201221165113454

image-20201221165315885

思考

计算机要不要考研

image-20201222202543264

image-20201222203552864

image-20201222203753897

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值