首页
/ DivKit 31.6.0版本发布:跨平台UI框架的全面升级

DivKit 31.6.0版本发布:跨平台UI框架的全面升级

2025-06-20 10:23:08作者:董宙帆

DivKit是一个由Yandex开源的跨平台UI框架,它允许开发者使用声明式的JSON格式来描述复杂的用户界面,并在Android、iOS和Web平台上实现一致的渲染效果。通过DivKit,开发者可以快速构建动态、高性能的UI界面,同时保持代码的可维护性和跨平台一致性。

Android客户端更新

输入控件增强

本次更新中,Android端的input控件新增了对filters属性的支持。这一特性允许开发者对用户输入内容进行更精细的控制,例如限制输入长度、过滤特定字符等。在实际应用中,这对于表单验证、搜索框等场景非常有用。

工具提示管理优化

新增的Div2Context.closeTooltips()方法为开发者提供了集中关闭所有工具提示的能力。这一改进简化了工具提示的管理逻辑,特别是在复杂交互场景中,开发者现在可以更轻松地确保UI状态的正确性。

列表构建逻辑调整

在列表渲染方面,item_builder现在拥有比items更高的优先级。这一变更使Android平台与其他平台的行为保持一致,减少了跨平台开发时的差异性。开发者在使用列表组件时应当注意这一优先级变化,以确保预期的渲染效果。

画廊组件改进

针对gallery组件的滚动位置恢复问题,本次更新修复了两个关键场景:

  1. 当第一个项目可见时的滚动位置恢复
  2. 在RTL(从右到左)配置下的滚动行为

这些修复提升了用户体验,特别是在多语言应用中,RTL布局的展示更加可靠。

视觉效果修正

shine效果的渐变角度计算得到了修正。现在角度是相对于水平线逆时针旋转的,这与标准的图形学惯例保持一致。开发者在使用这一视觉效果时可以获得更符合预期的渲染结果。

分页模式优化

修复了paging模式下画廊滚动的问题,使分页浏览体验更加流畅自然。

iOS客户端更新

输入类型与自动校正

iOS端的input控件现在会根据input_type自动调整自动校正行为。这一智能适配减少了开发者的配置工作,同时提供了更符合用户预期的输入体验。例如,在输入电话号码时自动禁用自动校正,而在输入普通文本时保持启用。

类型化动作解析

修复了类型化动作中数组解析的问题,使复杂数据结构的处理更加可靠。这一改进对于使用高级交互逻辑的应用尤为重要。

布局计算优化

layout_provider中的尺寸计算问题得到了修复,确保了布局测量的准确性。这对于依赖精确布局的自定义组件开发者来说是一个重要的改进。

Web客户端更新

滚动动作动画支持

Web端为多种滚动相关动作新增了animated参数,包括:

  • set_current_item
  • set_next_item
  • set_previous_item
  • scroll_forward
  • scroll_backward
  • scroll_to_position
  • scroll_to_end
  • scroll_to_start

这一增强使开发者能够控制滚动是否以动画形式呈现,从而在需要快速跳转或平滑滚动时提供更灵活的选择。

数据结构解析增强

Web端现在支持从字符串解析arraydict数据结构,包括通过div-action://set_variable协议和variable.set('value')编程API。数据格式采用JSON标准,这大大增强了复杂数据传递的能力。

工具提示交互改进

新增对tap_outside_actionsclose_by_tap_outside属性的支持,使工具提示的交互行为更加丰富和可控。开发者现在可以定义点击工具提示外部时的行为,并控制是否允许通过外部点击关闭提示。

RTL布局修复

修复了switch组件在RTL布局下的显示问题,确保从右到左语言的界面元素正确对齐和交互。

动作日志限制

修正了visibility_actionsdisappear_actions中动作数量与log_limit相关的错误,使动作日志系统更加可靠。

总结

DivKit 31.6.0版本带来了跨三大平台的全面改进,从基础控件功能增强到布局计算优化,从交互行为完善到国际化支持,每个更新都体现了框架对开发者体验和最终用户体验的关注。这些改进使得DivKit在构建复杂、动态、跨平台的用户界面时更加可靠和高效。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
895
531
KonadoKonado
Konado是一个对话创建工具,提供多种对话模板以及对话管理器,可以快速创建对话游戏,也可以嵌入各类游戏的对话场景
GDScript
21
13
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
7
0
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
85
4
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
372
387
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.09 K
0
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
94
15
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
625
60
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
401
377