新聞中心
焦點移動是智慧屏的主要交互方式,本節(jié)將介紹焦點邏輯的主要規(guī)則。

公司專注于為企業(yè)提供成都做網(wǎng)站、網(wǎng)站制作、微信公眾號開發(fā)、商城建設(shè),重慶小程序開發(fā),軟件按需設(shè)計等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗,我們會仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計、整合,為客戶設(shè)計出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,成都創(chuàng)新互聯(lián)公司更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。
- 容器組件焦點分發(fā)邏輯: 容器組件在第一次獲焦時焦點一般都落在第一個可獲焦的子組件上,再次獲焦時焦點落在上一次失去焦點時獲焦的子組件上。容器組件一般都有特定的焦點分發(fā)邏輯,以下分別說明常用容器組件的焦點分發(fā)邏輯。
- div 組件通過按鍵移動獲焦時,焦點會移動到在移動方向上與當(dāng)前獲焦組件布局中心距離最近的可獲焦葉子節(jié)點上。如圖 1 中焦點在上方的橫向 div 的第二個子組件上,當(dāng)點擊 down 按鍵時,焦點要移動到下方的橫向 div 中。這時下方的橫向 div 中的子組件會與當(dāng)前焦點所在的組件進(jìn)行布局中心距離的計算,其中距離最近的子組件獲焦。
圖1 div 焦點移動時距離計算示例
- list 組件包含 list-item 與 list-item-group,list 組件每次獲焦時會使第一個可獲焦的 item 獲焦。list-item-group 為特殊的 list-item,且兩者都與 div 的焦點邏輯相同。
- stack 組件只能由自頂而下的第一個可獲焦的子組件獲焦。
- swiper 的每個頁面和 refresh 的頁面的焦點邏輯都與 div 的相同。
- tabs 組件包含 tab-bar 與 tab-content,tab-bar 中的子組件默認(rèn)都能獲焦,與是否有可獲焦的葉子結(jié)點無關(guān)。tab-bar 與 tab-content 的每個頁面都與 div 的焦點邏輯相同。
- dialog 的 button 可獲焦,若有多個 button,默認(rèn)初始焦點落在第二個 button 上。
- popup 無法獲焦。
- focusable 屬性使用
通用屬性 focusable 主要用于控制組件能否獲焦,本身不支持焦點的組件在設(shè)置此屬性后可以擁有獲取焦點的能力。如 text 組件本身不能獲焦,焦點無法移動到它上面,設(shè)置 text 的 focusable 屬性為 true 后,text 組件便可以獲焦。特別的是,如果在沒有使用 focusable 屬性的情況下,使用了 focus,blur 或 key 事件,會默認(rèn)添加 focusable 屬性為 true。
容器組件是否可獲焦依賴于是否擁有可獲焦的子組件。如果容器組件內(nèi)沒有可以獲焦的子組件,即使設(shè)置了 focusable 為 true,依然不能獲焦。當(dāng)容器組件 focusable 屬性設(shè)置為 false,則它本身和它所包含的所有組件都不可獲焦。
文章題目:創(chuàng)新互聯(lián)鴻蒙OS教程:焦點邏輯
標(biāo)題來源:http://www.fisionsoft.com.cn/article/cdhsjco.html


咨詢
建站咨詢
