前言:Flutter官方文档里的一句话:you build your UI out of widgets(使用Flutter开发UI界面时,都是使用Widget),然而,Widget并不是我们真正看到的视图,背后究竟是什么?其实Flutter Framework提供了三种视图树,即:Widget  Element  RenderObject,只不过,我们使用Flutter开发界面时,通常只和widget打交道,就如前文中所展示的Materail风格或者Cupertino(IOS风格)的各种Wid…
目录 简介 BuildContext的本质 BuildContext和InheritedWidget BuildContext的层级关系 总结 简介 我们知道Flutter中有两种Widget,分别是StatelessWidget和StatefulWidget,StatelessWidget中有一个build方法来创建对应的Widget,虽然StatefulWidget中没有对应的build方法,但是和StatefulWidget对应的State中也有同样的build方法. 这个build方法就…
本书系列 现代3D图形编程学习 基础简介(2) 图形和渲染 接下去的内容对渲染的过程进行粗略介绍.遇到的部分内容不是很明白也没有关系,在接下去的章节中,会被具体阐述. 你在电脑屏幕上看到的任何东西,包括你现在阅读的文字是简单的二维像素点的集合.如果你在屏幕上截图,并放很大,就会看到一个个的方格. Figure8. An Image 没一个格子就是一个像素.pixel单词,是从Picture Element中提取出来的.你屏幕上的没一个像素都有一个独立的颜色.二维的像素数组就组成了 图像 因此,任…
本书系列 现代3D图形编程学习 基础简介 并不像本书的其他章节,这章内容没有相关的源代码或是项目.本章,我们将讨论向量,图形渲染理论,以及OpenGL. 向量 在阅读这本书的时候,你需要熟悉代数和几何知识,但对于向量的理解并不是必要的.因为,在接下去的内容中,会对向量的基本概念作出介绍. 在面对几何或是数值相关的内容时,向量可以有很多不同的解释.在任何一种情况,向量是具有维度的.二维的向量限制在一个平面上,然而三维的向量可以在任何的物理空间.向量还可以有更高的维度,但是通常情况下,我们处理的向量…
在视图应用程序中,应用程序的数据由文档对象代表,数据的视图由视图对象代表.MFC的Cdocument类是文档对象的基类,Cview类是视图对象的基类.应用程序的主窗口,其操作功能在MFC的CframeWnd和CMDIFrameWnd类中实现,已经不再以消息处理为工作焦点了,主要用作视图.工具栏以及其他用户界面对象的容器. 单文档界面应用程序只支持打开一个文档. 1.  文档.视图基础知识.   图1展示了SDI文档.视图应用程序的示意图.框架窗口是应用程序的顶层窗口,通常带有WS_OVERLAP…
一.基础简介 1.简介 CSS(Cascading Style Sheet)可译为“层叠样式表”或“级联样式表”,它定义如何显示 HTML 元素,用于控制Web页面的外观.通过使用CSS实现页面的内容与表现形式分离,极大提高了工作效率 .样式存储在样式表中,通常放在<head>部分或存储在 外部CSS文件中.作为网页标准化设计的趋势,CSS取得了浏览器厂商的广泛支持,正越来越多的被应用到网页设计中去.   网页现在的新标准是W3C.目前的模式是html+css+javascript,如何理解呢…
一·基础简介 1.Bootstrap,来自 Twitter,是一个用于快速开发 Web 应用程序和网站的前端框架,是目前最受欢迎的前端框架. Bootstrap 是基于 HTML.CSS.JavaScript的,它在jQuery的基础上进行了更为个性化和人性化的完善,形成一套自己独有的网站风格,并兼容大部分jQuery插件. Bootstrap简洁灵活,使得 Web 开发更加快捷.其最大的优势是响应式布局,使得开发者可以方便的让网页无论在台式机.平板设备.手机上都获得最佳的体验. 2.boots…
本文链接: Android MediaPlayer 基础简介 简单介绍MediaPlayer的基本概念,状态,常用的方法与监听器. 什么是MediaPlayer MediaPlayer类可以用来播放音视频文件,或者是音频流.开发者可以用它来播放本地音频,或者是网络在线音频. MediaPlayer属于android.media包. MediaPlayer的状态 播放控制由状态机控制.在日常生活中,我们常见的音频状态有播放中,暂停,停止,缓冲等等. MediaPlayer的状态有如下几种: Idl…
Widget 的本意是组件的意思,熟悉 Web 应用开发的人在后期必定会接触到 Vue.React 等框架,这些框架都有一个核心的概念 -- 组件.组件的目的也很简单,那就是重复率用一段代码,并且能够灵活地使用或拆卸. 在 Flutter 中,界面上所有可展示的内容都是一个个 Widget,也就是说在 Flutter 中,构建界面的最小单位就是 Widget.Widget 可以嵌套 Widget,就如 HTML 中标签可以嵌套标签一样.最直接的理解:Widget ≈ 标签.…
一,概述 业务开发中经常会碰到这样的情况,多个Widget需要同步同一份全局数据,比如点赞数.评论数.夜间模式等等.在安卓中,一般的实现方式是观察者模式,需要开发者自行实现并维护观察者的列表.在flutter中,原生提供了用于Widget间共享数据的InheritedWidget,当InheritedWidget发生变化时,它的子树中所有依赖了它的数据的Widget都会进行rebuild,这使得开发者省去了维护数据同步逻辑的麻烦. InheritedWidget是一个特殊的Widget,开发者可…