Opaque

Flutter “孔雀开屏”的动画效果

天涯浪子 提交于 2020-08-16 21:07:33
老孟导读:今天分享一个类似“孔雀开屏”的动画效果,打开新的页面时,新的页面从屏幕右上角以圆形逐渐打开到全屏。 先来看下具体的效果 不知道这种效果大家叫什么名字?如果有更合适的名字可以在评论处告诉我,下面来说下如何实现此效果。 在使用Navigator进入一个新的页面时,通常用法如下: Navigator.of(context).push(MaterialPageRoute( builder: (context){ return PageB(); } )); MaterialPageRoute 就包含了切换页面时的动画效果,在iOS上效果是左右滑动切换,在Android上效果是上下滑动,如果想要自定义切换效果如何实现呢?答案是使用 PageRouteBuilder ,用法如下: Navigator.of(context).push(PageRouteBuilder(pageBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation) { ... })); 在 pageBuilder 函数中使用 animation 返回新页面的动画效果即可。 新的页面以 圆形 效果逐渐打开,注意并没有缩放效果,所以新的页面是被 裁减 的,新的页面以右上角为圆心

mq中通信对象的设计字段和批量发送时数据封装

房东的猫 提交于 2020-08-15 15:56:02
MessageBatch Message MessageDecoder 如何设计一个通用的通信体 private int code; private LanguageCode language = LanguageCode.JAVA; private int version = 0; private int opaque = requestId.getAndIncrement(); 客户请求序号 private int flag = 0; private String remark; private HashMap<String, String> extFields; 扩展属性 private transient CommandCustomHeader customHeader; 每个请求对应得请求头信息 //序列化方式 private SerializeType serializeTypeCurrentRPC = serializeTypeConfigInThisServer; private transient byte[] body;//消息体 将多条消息放在body中,然后收到之后在进行解码 ,这样就保证了message能够兼容多列表消息发送 这里使用了nio的byteBuffer,进行数据转换时字节的解密和加密过程

URP学习之七--RenderFeature

亡梦爱人 提交于 2020-08-14 20:52:08
Unity的URP给了我们扩展渲染Pass的接口--RenderFeature,我们之前在讲URP-ForwardRenderer的时候提到过RenderFeature,这个东西是可以用来扩展Pass的。RenderFeature是依附于ForwardRenderer的,如下图所示: 现在我们会看到RendererFeatures的列表是空的,我们来添加一个,点击加号,我们会发现只有一个RenderObjects可以选择,我们可以先用这个RenderObjects的RenderFeature来熟悉一下一个Feature是怎么执行的。添加后点击添加的条目,会有以下参数: 我们首先看这个Feature怎么用:创建一个Unlit材质,将Pass的Name修改为"TestPass",然后将ShaderPasses中的PassName设置为“TestPass“,如下图: 这样,我们就能正确的通过其他Pass来渲染这个物体了,这个Pass通过我们自己在Shader中的自定义可以实现各种效果,比如我们实现一个多Pass描边,继续刚才我们的例子,因为我们将原来的PassName改为了Feature的PassName(”TestPass“),所以URP就不会调用UniversalForwardPass了。如果我们把UniversalForwardPass加回来

【华为云技术分享】LwM2M协议的学习与分享

给你一囗甜甜゛ 提交于 2020-08-14 08:23:50
【摘要】 本文主要对于LwM2M协议进行了简单的介绍,包括协议的体系架构以及特性、对象、资源、接口的定义等,希望对你有所帮助。 1协议简介 LwM2M(Lightweight Machine-To-Machine)协议是由OMA提出并定义的一个适用于资源有限的终端设备的轻量级物联网协议,可以用于快速部署客户端、服务器模式的物联网业务。LwM2M为物联网设备的管理和应用建立了一套标准,它提供了轻便小巧的安全通信接口及高效的数据模型,以实现M2M设备管理和服务支持。 2 协议特性 1) 基于资源模型的简单对象 2) 资源操作:创建/检索/更新/删除/属性配置 3) 资源的观察/通知 4) 支持的数据格式:TLV/JSON/Plain Text/Opaque 5) 传输层协议:UDP/SMS 6) 安全协议:DTLS 7) NAT/防火墙应对方案: Queue模式 8) 支持多LwM2M Server 9) 基本的M2M功能:LwM2M Server,访问控制,设备,网络连接监测,固件更新,位置和定位服务,统计 3 体系架构 4 对象定义 首先对象是逻辑上用于特定目的的一组资源的集合。在使用对象功能之前,必须对该对象进行实例化,对象可以有多个对象实例,对象定义的格式如下。 OMA为LwM2M协议内置了8个对象。具体如下 LiteOS SDK端云互通组件配合Huawei Ocean

URP学习之七--RenderFeature

ⅰ亾dé卋堺 提交于 2020-08-14 04:15:46
Unity的URP给了我们扩展渲染Pass的接口--RenderFeature,我们之前在讲URP-ForwardRenderer的时候提到过RenderFeature,这个东西是可以用来扩展Pass的。RenderFeature是依附于ForwardRenderer的,如下图所示: 现在我们会看到RendererFeatures的列表是空的,我们来添加一个,点击加号,我们会发现只有一个RenderObjects可以选择,我们可以先用这个RenderObjects的RenderFeature来熟悉一下一个Feature是怎么执行的。添加后点击添加的条目,会有以下参数: 我们首先看这个Feature怎么用:创建一个Unlit材质,将Pass的Name修改为"TestPass",然后将ShaderPasses中的PassName设置为“TestPass“,如下图: 这样,我们就能正确的通过其他Pass来渲染这个物体了,这个Pass通过我们自己在Shader中的自定义可以实现各种效果,比如我们实现一个多Pass描边,继续刚才我们的例子,因为我们将原来的PassName改为了Feature的PassName(”TestPass“),所以URP就不会调用UniversalForwardPass了。如果我们把UniversalForwardPass加回来

URP学习之七--RenderFeature

醉酒当歌 提交于 2020-08-13 19:16:05
Unity的URP给了我们扩展渲染Pass的接口--RenderFeature,我们之前在讲URP-ForwardRenderer的时候提到过RenderFeature,这个东西是可以用来扩展Pass的。RenderFeature是依附于ForwardRenderer的,如下图所示: 现在我们会看到RendererFeatures的列表是空的,我们来添加一个,点击加号,我们会发现只有一个RenderObjects可以选择,我们可以先用这个RenderObjects的RenderFeature来熟悉一下一个Feature是怎么执行的。添加后点击添加的条目,会有以下参数: 我们首先看这个Feature怎么用:创建一个Unlit材质,将Pass的Name修改为"TestPass",然后将ShaderPasses中的PassName设置为“TestPass“,如下图: 这样,我们就能正确的通过其他Pass来渲染这个物体了,这个Pass通过我们自己在Shader中的自定义可以实现各种效果,比如我们实现一个多Pass描边,继续刚才我们的例子,因为我们将原来的PassName改为了Feature的PassName(”TestPass“),所以URP就不会调用UniversalForwardPass了。如果我们把UniversalForwardPass加回来

URP学习之七--RenderFeature

旧城冷巷雨未停 提交于 2020-08-13 16:30:29
Unity的URP给了我们扩展渲染Pass的接口--RenderFeature,我们之前在讲URP-ForwardRenderer的时候提到过RenderFeature,这个东西是可以用来扩展Pass的。RenderFeature是依附于ForwardRenderer的,如下图所示: 现在我们会看到RendererFeatures的列表是空的,我们来添加一个,点击加号,我们会发现只有一个RenderObjects可以选择,我们可以先用这个RenderObjects的RenderFeature来熟悉一下一个Feature是怎么执行的。添加后点击添加的条目,会有以下参数: 我们首先看这个Feature怎么用:创建一个Unlit材质,将Pass的Name修改为"TestPass",然后将ShaderPasses中的PassName设置为“TestPass“,如下图: 这样,我们就能正确的通过其他Pass来渲染这个物体了,这个Pass通过我们自己在Shader中的自定义可以实现各种效果,比如我们实现一个多Pass描边,继续刚才我们的例子,因为我们将原来的PassName改为了Feature的PassName(”TestPass“),所以URP就不会调用UniversalForwardPass了。如果我们把UniversalForwardPass加回来

URP学习之七--RenderFeature

梦想与她 提交于 2020-08-12 15:21:02
Unity的URP给了我们扩展渲染Pass的接口--RenderFeature,我们之前在讲URP-ForwardRenderer的时候提到过RenderFeature,这个东西是可以用来扩展Pass的。RenderFeature是依附于ForwardRenderer的,如下图所示: 现在我们会看到RendererFeatures的列表是空的,我们来添加一个,点击加号,我们会发现只有一个RenderObjects可以选择,我们可以先用这个RenderObjects的RenderFeature来熟悉一下一个Feature是怎么执行的。添加后点击添加的条目,会有以下参数: 我们首先看这个Feature怎么用:创建一个Unlit材质,将Pass的Name修改为"TestPass",然后将ShaderPasses中的PassName设置为“TestPass“,如下图: 这样,我们就能正确的通过其他Pass来渲染这个物体了,这个Pass通过我们自己在Shader中的自定义可以实现各种效果,比如我们实现一个多Pass描边,继续刚才我们的例子,因为我们将原来的PassName改为了Feature的PassName(”TestPass“),所以URP就不会调用UniversalForwardPass了。如果我们把UniversalForwardPass加回来

URP学习之七--RenderFeature

纵然是瞬间 提交于 2020-08-12 01:54:30
Unity的URP给了我们扩展渲染Pass的接口--RenderFeature,我们之前在讲URP-ForwardRenderer的时候提到过RenderFeature,这个东西是可以用来扩展Pass的。RenderFeature是依附于ForwardRenderer的,如下图所示: 现在我们会看到RendererFeatures的列表是空的,我们来添加一个,点击加号,我们会发现只有一个RenderObjects可以选择,我们可以先用这个RenderObjects的RenderFeature来熟悉一下一个Feature是怎么执行的。添加后点击添加的条目,会有以下参数: 我们首先看这个Feature怎么用:创建一个Unlit材质,将Pass的Name修改为"TestPass",然后将ShaderPasses中的PassName设置为“TestPass“,如下图: 这样,我们就能正确的通过其他Pass来渲染这个物体了,这个Pass通过我们自己在Shader中的自定义可以实现各种效果,比如我们实现一个多Pass描边,继续刚才我们的例子,因为我们将原来的PassName改为了Feature的PassName(”TestPass“),所以URP就不会调用UniversalForwardPass了。如果我们把UniversalForwardPass加回来

Kafka快速入门(九)——C客户端

删除回忆录丶 提交于 2020-08-10 12:48:28
Kafka快速入门(九)——C客户端 一、Librdkafka简介 1、librdkafka简介 librdkafka是C语言实现的Apache Kafka的高性能客户端,提供C++接口。librdkafka专为现代硬件而设计,尝试将内存复制保持在最小,可以让用户决定是需要高吞吐量还是低延迟的服务,当前可支持每秒超过100万的消息生产和300万每秒的消息消费。 Github地址: https://github.com/edenhill/librdkafka 2、librdkafka安装 yum install librdkafka-devel Linux系统下源码编译安装: git clone https://github.com/edenhill/librdkafka.git cd librdkafka ./configure make -j sudo make install 编译完成后,C的静态库、动态库、头文件位于src目录,CPP的静态库、动态库、头文件位于src-cpp目录下。 安装完成后,librdkafka的头文件位于/usr/local/include/librdkafka,库文件位于/usr/local/lib,执行ldconfig确保librdkafka库生效。 librdkafka C API定义在rdkafka.h文件中。 librdkafka C++