首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

原 基于HTML5 Canvas WebG

首先观察这个例子的界面展示,会发现这个界面是由左右两部分组成的,右边又是由上下两部分组成的,这种分割模式在 HT 中有很好的解决办法,可以完全利用 ht.widget.SplitView 将界面分层,也可以利用...toolbar = new ht.widget.Toolbar(item); //工具条 borderPane = new ht.widget.BorderPane();//面板组件 borderPane.setTopView...(dataModel); //树组件 mainSplit = new ht.widget.SplitView(treeView, borderPane, 'h', 0.2); //分割组件 其中 toolbar...接着要将最外层的组件添加进底层 div 中,没有阅读过我的文章的同学这边我解释一下,所有的 HT 组件最根层都是一个 div 组件,可通过组件的 getView 函数获得,默认和自定义交互时间监听一般添加在该...params) 第三个参数的控制信息,也就是说 ht.Default.parseObj 函数中的第三个参数所带的控制信息在 ht.Default.loadObj 函数中的第三个参数 params 中都可以使用

73630

基于HTML5 Canvas WebGL制作分离摩托车

首先观察这个例子的界面展示,会发现这个界面是由左右两部分组成的,右边又是由上下两部分组成的,这种分割模式在 HT 中有很好的解决办法,可以完全利用 ht.widget.SplitView 将界面分层,也可以利用...3 toolbar = new ht.widget.Toolbar(item); //工具条 4 borderPane = new ht.widget.BorderPane();//面板组件 5 borderPane.setTopView...(dataModel); //树组件 8 mainSplit = new ht.widget.SplitView(treeView, borderPane, 'h', 0.2); //分割组件 其中 toolbar...接着要将最外层的组件添加进底层 div 中,没有阅读过我的文章的同学这边我解释一下,所有的 HT 组件最根层都是一个 div 组件,可通过组件的 getView 函数获得,默认和自定义交互时间监听一般添加在该...params) 第三个参数的控制信息,也就是说 ht.Default.parseObj 函数中的第三个参数所带的控制信息在 ht.Default.loadObj 函数中的第三个参数 params 中都可以使用

1.2K50

扩展HT for Web之HTML5表格组件的Renderer和Editor

ht.widget.BaseItemEditor类来实现自定义编辑器。...现在我们来看看旋转角度自定义编辑是如何设计的: 1....用户通过拖拉组件可以改变角度,这个改变是连续的,而且在拖拉的时候有可能鼠标会离开组件区域,要实现离开组件区域也能够正确的改变值,那么这时候就需要调用HT for Web的startDragging()方法...很简单,在表格定义列的时候,加上下面两行代码就可以开始使用编辑器了; editable : true, // 启动编辑 itemEditor : ‘ht.widget.RotationEditor' /...但是只有在结束编辑后,才可以在拓扑图上看到文本旋转角度变化,如果可以实时更新拓扑图上的文本旋转角度,将会更加直观些,那么现在该怎么办呢? 8.

1.7K70

Flutter 的状态管理方案:setState、BLoC、ValueNotifier、Provider

展示了这样一个 Scaffold: AppBar 的标题是选中的项目名称 drawer 使用自定义构造器 MenuSwitcher body 使用了一个 switch 语句来区分不同的页 参考流程(...通过静态 create 方法中的 Provider / Consumer,让 SignInBloc 可以访问我们的 widget。...在构建自己的应用程序时,你可以根据具体情况来评估哪个方案更合适 小彩蛋:实现 Drawer 菜单 跟踪当前选择的选项也是一个状态管理问题: 我首先在自定义 Drawer 菜单中使用本地状态变量和 setState...使用 Provider,我们可以选择在哪里存储 widget 树中的状态。 这样,即使删除使用它的小部件,状态也会被保留。 ValueNotifier 比 setState 需要更多的代码。...但它可以用来记住状态,通过在 widget 树中放置适当的 Provider。

4.4K00

扩展HT for Web之HTML5表格组件的Renderer和Editor

ht.widget.BaseItemEditor类来实现自定义编辑器。...现在我们来看看旋转角度自定义编辑是如何设计的:     1....用户通过拖拉组件可以改变角度,这个改变是连续的,而且在拖拉的时候有可能鼠标会离开组件区域,要实现离开组件区域也能够正确的改变值,那么这时候就需要调用HT for Web的startDragging()方法...很简单,在表格定义列的时候,加上下面两行代码就可以开始使用编辑器了; editable : true, // 启动编辑 itemEditor : ‘ht.widget.RotationEditor' /...但是只有在结束编辑后,才可以在拓扑图上看到文本旋转角度变化,如果可以实时更新拓扑图上的文本旋转角度,将会更加直观些,那么现在该怎么办呢?     8.

1.4K30

-StatefulWidget的打开方式

`对象.set属性`来设置 但在FLutter里你会奇怪的发现:当你`slider.value=20;`时会报错 这真是让人不爽,对象更改属性不是天经地义?...但Flutter说:对不起,你不能 这让我恍然大悟,为什么Widget源码里说所有的组件都是恒定的,它只是对元素的描述 组件的属性无法被改变因为属性都是final修饰的,既然无法修改,那又为什么会有状态一说...---- 5:组件间的组合 看一下Flutter中组合Slider和Text是多么简洁,只要添加一些就行了 如果Android自定义这样的控件,需要自定义ViewGroup,将两个组件拼合 所以Flutter...中组件的拼合是非常方便的,使用也很简洁 ?...,和Flutter原生组件地位是一样的 我们在需要拖动的监听,那么就需要在渲染之前进行回调,让使用可以接受回参 class TextSlider extends StatefulWidget {

1.1K10

OAuth2.0 OpenID Connect 三

另一个是来自端点的响应/userinfo,可以使用access_token作为不记名令牌访问。 请求中有很多查询参数的组合/authorization,它们决定了哪些信息将被编码到id_token....自定义范围和声明 OIDC 规范适应自定义范围和声明。在令牌中包含自定义声明的能力(可通过密码验证)是身份提供者的一项重要功能。Okta 的实现为此提供了支持。...oauth2/aus2yrcz7aMrmDAKZ1t7/v1/introspect \ token=bogus HTTP/1.1 200 OK ... { "active": false } 可以使用...使用声明中找到的公钥n和安全库,我们可以确认 ID 令牌未被篡改。所有这些都可以在最终用户 SPA、移动应用程序等上安全地完成。...使用端点和使用 JWK 验证 JWT/introspect是 OIDC 的一个强大组件。它允许高度信任令牌没有以任何方式被篡改。并且,正因为如此,可以安全地强制执行其中包含的信息(例如到期)。

22730

【 开源计划 - Flutter组件】 旋转切换 toggle_rotate

最简使用 时长、曲线、方向 可含一切组件 旋转角度 1.所有属性: 名称 类型 功能 备注 默认 rad double 旋转角度 弧度制 pi / 2 durationMs int 动画时长...子组件 @required null ---- 2.最简使用: ?...这个小组件是一个动画的经典案例,所以分析一下具体实现还是很有意义的 ---- 1.自定义组件 开始分析一下是否有状态。...很明显,我们需要在点击时让组件旋转 组件有是否旋转是一个状态量,旋转过程中的角度也是状态量 可以说想要实现动画,基本上是基于StatefulWidget的,先写出一个基本的组件 由于需要动画,要with...如果你想要一个组件在点击时不那么古板,欢迎使用 ?

84330

Flutter 构建完整应用手册-处理手势

我们将使用GestureDetector部件! 假设我们想要制作一个自定义按钮,当点击时显示snackbar。 我们如何解决这个问题?...,请参阅“添加材质涟漪”配方。...添加材质涟漪效果 在设计应遵循材质设计指南的应用程序时,我们希望在点击时将涟漪动画添加到部件。 Flutter提供InkWell部件来达到这个效果。...路线 创建条目列表 将每个项目包裹在Dismissible部件中 提供“向后消除”指标 1.创建条目列表 这个配方的第一步是创建一个我们可以滑动的项目列表。...有关如何创建列表的更多详细说明,请按照使用长列表配方进行操作。 创建一个数据源 在我们的例子中,我们需要20个样品条目。 为了简单起见,我们将生成一个字符串列表。

1.8K20

重磅!iOS应用黑暗模式设计终极指南(附套件下载)

因此,理想情况下,您可以使用填充色或灰色,也可以混合使用。显然你可以根据需要选择自己的自定义灰色。 这里有一个很小的例子,说明如何在用户界面中使用它们。 ?...但是,是否我们必须只能用这9种颜色,还是说我们也可以使用其它颜色呢?是的,当然你可以使用其它颜色。但是如果你要自定义颜色,你必须把黑暗模式和亮色模式的颜色都定义出来才行。...那么,这些元素必须是材质?我可以使它们完全不透明,且不透明度为100%? 当然,让我们看一个例子。 ? 两个导航栏都应用了背景模糊。左边的那个不是完全不透明的。...请注意下图,不同的材质所产生的视觉效果是不一样的: ? 接下来看一下底部的Tabbar: ? 顺便说一句,材质还用于诸如通知和模态之类的组件。这是模态中使用材质的示例: ?...11 控件或组件 对于控件(Tab),滑块,搜索栏,开关等元素,请尝试使用UI套件中的组件。当然,您当然可以使用自己的颜色,但是为什么要浪费时间从头开始制作它们。

3.2K10

50+个超实用的DevOps工具

DevOps的实施依仗于技术——特别是那些能从全周期的角度增强可编程性和动态基础架构管理的自动化工具。...持续集成:该工具能提供持续的,及时的回馈,但每种工具的部署带来的结果是不一样的,你为你的任务选择了正确工具? 部署:部署工作需要可预测、平稳、可靠,风险最小,自动化也将在此过程中发挥重大作用。...Chef的核心是自定义recipes,templates和cookbooks以及现成的模板集合。Cookbooks可以在基础架构快速缩放的情况下进行持续的配置。...链接:https://mysterium.network/ 37、Okta Okta提供身份管理服务。...借助Okta,你可以统一管理所有员工访问,Okta功能包括单点登录(SSO)、AD和LDAP集成、多重身份验证(MFA)。所有这些都汇集在Okta集成网络中,该网络提供了多种集成方案。

1.4K20

Flutter 构建完整应用手册-设计基础知识 顶

使用自定义字体 虽然Android和iOS提供高质量的系统字体,但设计师最常见的要求之一是使用自定义字体! 例如,我们可能会从我们的设计人员那里获得一个定制的字体,或者从谷歌字体中下载一种字体。...Flutter使用自定义字体开箱即用。 我们可以将字体应用到整个应用程序或个别小部件。...在Flutter中,我们可以将Drawer小工具与Scaffold结合使用,以创建带有材质设计Drawer的布局!...它还支持特殊的Material Design组件,例如Drawers,AppBars和SnackBars。...); 2.添加一个Drawer 我们现在可以为我们的Scaffold增加一个Drawer。 Drawer可以是任何部件,但通常最好使用材质库中的Drawer部件,该材质库遵守材质设计规范。

7.1K10

一步一步教会你如何使用Java构建单点登录

创建授权服务器Okta的最后一步是创建和配置授权服务器。这使您可以配置自定义声明并设置自定义访问策略。这确定Okta是否在请求令牌时发出令牌,该令牌控制用户访问客户端应用程序和资源服务器的能力。...您可以将以下未提及的任何值保留为默认值。完成后,重复并使用下面的Claim 2下的值创建第二个索赔。...这样可以确保请求必须使用授权代码流才能使Okta创建令牌。这是所有可用OAuth流中最安全的流。它确保通过对POST请求的响应来传递所有敏感信息(如令牌)。接下来,您将为第二个应用程序添加访问策略。...这表明只有该用户可以登录该OIDC App 2应用程序。点击创建规则。单击设置选项卡,然后复制颁发者URL。您将很快使用此值。在Okta中完成所有配置工作。上代码!...这将为每个应用程序生成唯一的客户端ID和客户端密钥,这使Okta可以对应用程序进行身份验证,并允许您使用Okta对其进行配置。您还创建了一个自定义授权服务器。

3.4K30

Gradle+Groovy基础篇

扩展和自定义Gradle构建比编写Maven插件和自定义构建步骤要简单得多。 Gradle还极大地缩短了构建时间,尤其是在大型项目中,因为Gradle仅处理已更改的任务和文件就可以很好地完成工作。...Maven Central是最常见的(mavenCentral()),但也可以配置其他仓库,包括自定义仓库和本地仓库。可以使用来将本地Maven缓存配置为仓库mavenLocal()。...但是,当您开始使用Gradle的功能来定义自定义任务并执行任意代码时,它将变得更加复杂。...那么,为什么不使用更传统的静态数据结构(如JSON,属性或XML)呢?原因是这些重载函数也可以使用闭包代码块,因此可以进行深度自定义。 探索Gradle依赖项配置 依赖关系块内部是一系列配置和名称。...到此,基础篇完事儿,提高篇中将会实践一下自定义任务和Groovy闭包在Gradle配置文件build.gradle文件中如何使用

2K20

Cocos Creator v2.2 自定义渲染组件材质介绍

二、自定义渲染组件及 Assembler 自定义渲染组件 自定义渲染组件需要继承 cc.RenderComponent 对象。..._activeMaterial 方法负责创建并设置渲染组件使用材质实例,会在组件启用及材质修改时调用。...自定义材质及 Effect Cocos Creator 2.2 版本的材质及 Effect 是作为资源存在,可以通过编辑器很方便快捷地进行新建操作,而不需要通过代码进行创建。 ?...在编辑器中选中材质资源,通过属性检查器对比材质的资源文件,可以看到具体的属性对应: ?...材质中通过 uuid 指定所使用的 Effect 资源,在编辑器中选中 Effect 资源,以 2d-sprite 为例,可以看到文件具体的内容,Effect 中主要有三部分:CCEffect,CCProgram

2K20

Unity基础系列(一)——创建一个时钟(GameObjects与Scripts)

它同时包含了一个内置的material(材质球), 材质可以根据需要自己创建或者更换,同时材质球也在Mesh Renderer的组件下面被展示出来了。...在本例子里面,我们并不需要它,所以我们可以把它移除。不过如果你想把物理加入到时钟里的话,建议使用Mesh Collider组件。...(自定义的Clock组件) 嗯,通过这样添加组件之后,我们的Clock的实例就会被创建了,就像其他的组件一样。 2.2 拿到指针 如果要旋转指针,那么Clock得知道它们在哪。...OK,到这里之后代码的编译器已经能明白能要什么了,不会报错了,但是,记得刚才的访问权限?如果不加的话,表示这个数据或者属性只能类内部使用,如果想要外部使用的话,也一样需要加上权限修饰符。如下: ?...所以我们只要使用Unity提供的方法就可以完成角度的旋转,先看下方法怎么用: ? 这里我们删除了日志,然后把时钟本身沿着Y轴旋转了一定的角度角度为当前的小时数。

2.1K10
领券