比如:布局中有上下两个控件,上面的默认为 `invisible`,想确认下上面的控件如果可见的话对整体布局的影响。无需更改控件的 `visibility` 属性,添加 Tools:visibility=true 即可预览布局的变化`Motion Editor` 则是支持 MotionLayout 类型布局的视觉设计编辑器,可让更轻松地创建和预览和调试动画。`Layout Inspector` 则可以查看某进程某画面的详细布局,完整展示 View 树的各项属性。在不方便代码调试或剖析其他 App 的情况下...
>2022年已经到了尾声,后半年度过的太漫长了,也是自己这两年来成长速度最快的一次了(后文揭晓)>[今年的年中总结链接](https://juejin.cn/post/7116152613409816612)上半年我沉浸在读各类技术书籍中,但是后半... 在记录和总结中我的思维和认知也有了潜移默化的变化...这里主要大致整理下不同的方向,jym如果想要提升自己的话可以从这几个方面去找资料:>- 知识管理法>- 高效时间管理,GTD时间管理法,生活黑客的时间管理>- 思...
()}```如上,我们使用 data class 定义 `UiState` 用在 ViewModel 中。 val 声明属性保证了 State 的不可变性。使用密封类定义 `Result` 有利于对各种请求结果进行枚举,简化逻辑。```kotlinprivate val _uiS... 比如上面例子中 UI 侧接收到 UiState 更新通知后,提交 `DiffUtil` 刷新列表。DiffUtil 正常运作的基础正是因为 `mList` 和 `newList` 能时刻保持 Immutable 类型。## 1.2 Functional函数在 Kotlin 中是一等公民...
有了这些属性,在组件中就可以正常的渲染列表了 ## clean-js 使用方法在此之前先说明一下这个状态库如何使用功能:1. 提供presenter的约束,约束视图状态和更新的方式;1. 提供视图devtool(redux-devtool/log)1. 提供适配器,适配react/vue/...1. 提供IOC容器,可以实现依赖注入1. 根据YAPI,swagger2,swagger3等api协议自动生成请求代码实现:1. 所有的状态类都需要继承基类Presenter,需要在基类写入泛型 IViewStat...
list 获取事件时,携带获取关联的元数据信息,可选值为: virtual_params 虚拟属性 property_dict 数据字典 values 事件属性值 alias 事件属性值对应的前端展示值 event_groups 事件分类 params 事件关联的属性 注意:with更多的关联信息将影响接口性能。 false json { "filter": { "name": ["app_launch", "predefine_pageview"], "status": [0, 1, 3, 4] }, "with": ["params", "event_groups"]}R...
list 获取事件时,携带获取关联的元数据信息,可选值为: virtual_params 虚拟属性 property_dict 数据字典 values 事件属性值 alias 事件属性值对应的前端展示值 event_groups 事件分类 params 事件关联的属性 注意:with更多的关联信息将影响接口性能。 false json { "filter": { "name": ["app_launch", "predefine_pageview"], "status": [0, 1, 3, 4] }, "with": ["params", "event_groups"]}Respons...
list 获取事件时,携带获取关联的元数据信息,可选值为: virtual_params 虚拟属性 property_dict 数据字典 values 事件属性值 alias 事件属性值对应的前端展示值 event_groups 事件分类 params 事件关联的属性 注意:with更多的关联信息将影响接口性能。 false json { "filter": { "name": ["app_launch", "predefine_pageview"], "status": [0, 1, 3, 4] }, "with": ["params", "event_groups"]}Respons...
()}```如上,我们使用 data class 定义 `UiState` 用在 ViewModel 中。 val 声明属性保证了 State 的不可变性。使用密封类定义 `Result` 有利于对各种请求结果进行枚举,简化逻辑。```kotlinprivate val _uiS... 比如上面例子中 UI 侧接收到 UiState 更新通知后,提交 `DiffUtil` 刷新列表。DiffUtil 正常运作的基础正是因为 `mList` 和 `newList` 能时刻保持 Immutable 类型。## 1.2 Functional函数在 Kotlin 中是一等公民...
有了这些属性,在组件中就可以正常的渲染列表了 ## clean-js 使用方法在此之前先说明一下这个状态库如何使用功能:1. 提供presenter的约束,约束视图状态和更新的方式;1. 提供视图devtool(redux-devtool/log)1. 提供适配器,适配react/vue/...1. 提供IOC容器,可以实现依赖注入1. 根据YAPI,swagger2,swagger3等api协议自动生成请求代码实现:1. 所有的状态类都需要继承基类Presenter,需要在基类写入泛型 IViewStat...
插件使用示例 在app module级别的build.gradle文件中应用plugin。 groovy teaExtension { // 自动注入webview的对接bridge autoInjectWebViewBridge = true // 插装黑名单,包路径前缀 blackList = [] // 埋点... 到插件列表最后一个声明,如遇到冲突,可以将其调整到application / kotlin 等官方插件后的第一个apply plugin: 'com.bytedance.std.tracker' 1.3 引入SDK在app module级别的build.gradle文件中,在dependencies里引入...
否则会影响数据和用户的绑定关系。 1.2 设置用户属性 1.2.1 profileSet设置用户属性,存在则覆盖,不存在则创建。 java // 示例:设置用户属性,属性名为 key,属性值为 valueJSONObject paramsObj = new JSONObject(... 属性值为 1JSONObject paramsObj = new JSONObject();try { paramsObj.put("key", 1);} catch (JSONException e) { e.printStackTrace();}AppLog.profileIncrement(paramsObj); 1.2.4 profileAppend设置List...
否则会影响数据和用户的绑定关系。 1.2 设置用户属性注意 不支持子进程调用,调用时请确保调用进程为主进程。 1.2.1 profileSet设置用户属性,存在则覆盖,不存在则创建。 java // 示例:设置用户属性,属性名为 ke... 属性值为 1JSONObject paramsObj = new JSONObject();try { paramsObj.put("key", 1);} catch (JSONException e) { e.printStackTrace();}AppLog.profileIncrement(paramsObj); 1.2.4 profileAppend设置List...
否则会影响数据和用户的绑定关系。 1.2 设置用户属性注意 不支持子进程调用,调用时请确保调用进程为主进程。 1.2.1 profileSet设置用户属性,存在则覆盖,不存在则创建。 java // 示例:设置用户属性,属性名为 ke... 属性值为 1JSONObject paramsObj = new JSONObject();try { paramsObj.put("key", 1);} catch (JSONException e) { e.printStackTrace();}AppLog.profileIncrement(paramsObj); 1.2.4 profileAppend设置List...