焦点控制-自定义焦点走焦逻辑
·
在开发过程中有时候我们需要自定义组件的焦点走焦逻辑,nextFocus可以帮助我们实现这种功能。
参数为设置当前容器组件的自定义走焦规则,没设置自定义走焦或者设置自定义组件容器不存在,仍进行默认走焦规则。
以下参数对象的说明:
forward 通过tab键走焦到组件的id。默认值为重置forward为空。
backward 通过shift+tab键走焦到组件的id。默认值为重置backward为空。
up 通过方向键上键走焦到组件的id。默认值为重置up为空。
down 通过方向键下键走焦到组件的id。默认值为重置down为空。
left 通过方向键左键走焦到组件的id。默认值为重置left为空。
right 通过方向键右键走焦到组件的id。默认值为重置right为空。
示例
@Entry
@Component
struct Index {
@State idList: string[] = ['A', 'B', 'C', 'D', 'E', 'F'];
build() {
Column({space: 10}) {
Row({space: 10}) {
Button("id: " + this.idList[0])
.id(this.idList[0])
.nextFocus({forward: 'C', backward: 'M', up: 'E', right: 'F', down: 'B', left: 'D'});
Button("id: " + this.idList[1])
.id(this.idList[1])
}
Column({space: 10}) {
Button("id: " + this.idList[2])
.id(this.idList[2]);
Button("id: " + this.idList[3])
.id(this.idList[3])
.nextFocus({forward: 'F'});
}
Row({space: 10}) {
Button("id: " + this.idList[4])
.id(this.idList[4]);
Button("id: " + this.idList[5])
.id(this.idList[5])
.nextFocus({forward: 'B'});
}
}
}
}
更多推荐
所有评论(0)