八、事件
交互事件:通用事件、手势事件
通用事件(按照触发类型):触屏事件、鼠标事件、焦点事件和拖拽事件
事件分发:用于描述系统如何处理用户产生的输入事件
根据输入源不同:touch类、mouse类
touch类:finger、pen
mouse类:mouse、touchpad、joystick
touch:触摸事件、点击事件、拖拽事件、手势事件
mouse:触摸事件、点击事件、拖拽事件、手势事件、鼠标事件
触摸测试
1.TouchTest:触摸测试入口方法
2.hitTestBehavior:触摸测试控制
3.interceptTouch:事件自定义拦截
4.responseRegion:触摸热区设置
5.enabled:禁用控制
6.安全组件
TouchTest的触发时机由每次点按的按下动作发起,默认由组件树的根节点TouchTest方法作为入口
触摸测试控制
组件的接口hitTestBehavior(value: HitTestMode):设置组件的触摸测试类型
HitTestMode
1.Default:默认触摸测试效果,自身、父节点都响应触摸测试,但会阻塞兄弟节点的触摸测试
2.Block:自身响应触摸测试,阻塞父节点、子节点和兄弟节点的触摸测试
3.Transparent:自身和子节点、兄弟节点都响应触摸测试
4.None:自身不响应触摸测试,不会阻塞子节点和兄弟节点的触摸测试
onTouchIntercept:自定义事件拦截(给组件绑定自定义事件拦截回调)
enabled:禁用控制(设置组件是否可交互)
responseRegion:触摸热区设置(设置一个或多个触摸热区)
触屏事件:当手指/手写笔在组件上按下、滑动、抬起时触发的回调事件,包括点击事件、拖拽事件和触摸事件
触摸事件:按下(Down)、滑动(Move)、抬起(Up)
.onClick((event: ClickEvent) => {}
.onTouch((event: TouchEvent) => {}
.onKeyEvent((event: KeyEvent) => {}
1.焦点
2.焦点链
3.走焦
4.焦点态
5.层级页面
6.根容器
1.拖拽事件
通过鼠标或手势触屏的方式传递数据(从一个组件位置拖出数据并拖入到另一个组件位置上进行响应,拖出一方提供数据,拖入一方接收和处理数据,该操作可以让用户方便地移动、复制或删除指定内容)
1.拖拽操作:在某个能够响应拖出的组件上长按并滑动触发的拖拽行为,当用户释放时,拖拽操作结束
2.拖拽背景(背板):用户所拖动数据的形象化表示
3.拖拽内容:拖动的数据,使用UDMF的API进行封装
4.拖出对象:触发拖拽操作并提供数据的组件
5.拖入目标:可接收并处理拖动数据的组件
6.拖拽点:鼠标或手指等与屏幕的接触位置
拖拽流程:手势拖拽、鼠标拖拽
可拖出的组件(Search、Text、Image...)需要判断是否设置了draggable属性为true,其他组件需要额外判断是否设置了onDragStart回调函数
九、应用深浅色适配
应用随系统的深浅色模式
颜色适配
自定义资源实现:resources目录下增加深色模式限定词目录(命名为dark)并新建color.json文件
图片资源适配:参照颜色适配的方法,需要将深色模式下对应的同名图片放到dark/media目录下
应用主动设置深浅色模式
自定义品牌色
CustomTheme:用于自定义主题,属性可选
注
@钟(zhf)[]【CTO】