日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

抖音接口授權(quán)是什么東西 抖音直播實(shí)時(shí)數(shù)據(jù)接口( 四 )



抖音接口授權(quán)是什么東西 抖音直播實(shí)時(shí)數(shù)據(jù)接口


這個(gè)方法會(huì)執(zhí)行兩個(gè)關(guān)鍵操作:
  1. 調(diào)用 ViewRootImpl 的 setAccessibilityFocus 方法將自身設(shè)置為 focus,然后調(diào)用 invalidate() 觸發(fā)重繪操作,ViewRootImpl 會(huì)在 onPostDraw 方法中執(zhí)行 drawAccessibilityFocusedDrawableIfNeeded 來繪制綠框 。

抖音接口授權(quán)是什么東西 抖音直播實(shí)時(shí)數(shù)據(jù)接口


  1. 調(diào)用 sendAccessibilityEvent 方法,將 TYPE_VIEW_ACCESSIBILITY_FOCUSED 事件發(fā)送出去,這個(gè)事件被 talkback 接收后,會(huì)調(diào)用朗讀引擎 TTS 讀出 View 的內(nèi)容,實(shí)現(xiàn)了無障礙模式下對觸摸區(qū)域內(nèi)容的播報(bào) 。
無障礙功能實(shí)現(xiàn)實(shí)例
  • Case 1:無障礙模式下點(diǎn)擊 View 播報(bào)“未加標(biāo)簽”
解決方案:在該 View 的 android:contentDescription 屬性上設(shè)置需要播報(bào)的 String 。
  • Case 2:焦點(diǎn)過多,需要?jiǎng)h除多余焦點(diǎn)或需要某個(gè) View 能夠進(jìn)行播報(bào)
解決方案:將不需要播報(bào)的 View 的 android:importantForAccessibility 屬性設(shè)置為 no,將需要播報(bào)的 View 的該屬性設(shè)置為 yes 。
  • Case 3:無障礙模式下在上層頁面點(diǎn)擊仍能選中下層 View
解決方案:將下層的根 View 的 android:importantForAccessibility 屬性設(shè)置為”noHideDescendants”
  • Case 4:使用的自定義 Toast 不播報(bào)內(nèi)容
解決方案:在自定義 Toast 展示的時(shí)候,主動(dòng)發(fā)送一個(gè) AccessibilityEvent 事件
mText.postDelayed(new Runnable() {@Override public void run() {mText.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_HOVER_ENTER);}}, 1);設(shè)置延時(shí)是為了避免不生效的問題 。
  • Case 5:設(shè)置自定義 View 的播報(bào)內(nèi)容
解決方法:override View 的 onPopulateAccessibilityEvent()方法 。
舉例:設(shè)置自定義 View 開/關(guān)狀態(tài)(已開啟/已關(guān)閉)的播報(bào)內(nèi)容 。
@Overridepublic void onPopulateAccessibilityEvent(AccessibilityEvent event) {super.onPopulateAccessibilityEvent(event);final CharSequence text = isChecked() ? "已開啟" : "已關(guān)閉";if (text != null) {event.getText().add(text);}}
  • Case 6:設(shè)置自定義 View 播報(bào)的控件類型及選中狀態(tài)
解決方法:使用 AccessibilityDelegate
ViewCompat.setAccessibilityDelegate(targetView, new AccessibilityDelegateCompat() {@Overridepublic void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {super.onInitializeAccessibilityNodeInfo(host, info);info.setRoleDescription("標(biāo)簽類型");//設(shè)置播報(bào)的標(biāo)簽類型info.setCheckable(true);info.setChecked(checked);//設(shè)置播報(bào)的被選中狀態(tài)}});加入我們【抖音接口授權(quán)是什么東西 抖音直播實(shí)時(shí)數(shù)據(jù)接口】歡迎加入抖音-關(guān)系與服務(wù)團(tuán)隊(duì),我們專注于抖音多個(gè)核心業(yè)務(wù)場景的落地與迭代,在業(yè)務(wù)、架構(gòu)、技術(shù)等方面都有投入,期待你的加入!

推薦閱讀