harmony-utils之DisplayUtil,屏幕相關(guān)工具類
harmony-utils 簡(jiǎn)介與說明
harmony-utils 一款功能豐富且極易上手的HarmonyOS工具庫(kù),借助眾多實(shí)用工具類,致力于助力開發(fā)者迅速構(gòu)建鴻蒙應(yīng)用。其封裝的工具涵蓋了APP、設(shè)備、屏幕、授權(quán)、通知、線程間通信、彈框、吐司、生物認(rèn)證、用戶首選項(xiàng)、拍照、相冊(cè)、掃碼、文件、日志,異常捕獲、字符、字符串、數(shù)字、集合、日期、隨機(jī)、base64、加密、解密、JSON等一系列的功能和操作,能夠滿足各種不同的開發(fā)需求。
picker_utils 是harmony-utils拆分出來的一個(gè)子庫(kù),包含PickerUtil、PhotoHelper、ScanUtil。
下載安裝ohpm i @pura/harmony-utilsohpm i @pura/picker_utils
//全局初始化方法,在UIAbility的onCreate方法中初始化 AppUtil.init()
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
AppUtil.init(this.context);
}
API方法與使用
getDefaultDisplaySync 獲取當(dāng)前默認(rèn)的display對(duì)象
let display = DisplayUtil.getDefaultDisplaySync();
let displayStr = JSON.stringify(display, null, 2);
getPrimaryDisplaySync 獲取主屏信息。除2in1之外的設(shè)備獲取的是設(shè)備自帶屏幕的Display對(duì)象;2in1設(shè)備外接屏幕時(shí)獲取的是當(dāng)前主屏幕的Display對(duì)象;2in1設(shè)備沒有外接屏幕時(shí)獲取的是自帶屏幕的Display對(duì)象。
let display = DisplayUtil.getPrimaryDisplaySync();
let displayStr = JSON.stringify(display, null, 2);
getAllDisplays 獲取當(dāng)前所有的display對(duì)象,使用Promise異步回調(diào)
let allDisplay = await DisplayUtil.getAllDisplays();
let displayStr = JSON.stringify(allDisplay, null, 2);
getWidth 獲取設(shè)備的屏幕寬度,單位為px
let width = DisplayUtil.getWidth();
ToastUtil.showToast(`當(dāng)前屏幕寬度為:${width}px`);
getHeight 獲取設(shè)備的屏幕高度,單位為px
let height = DisplayUtil.getHeight();
ToastUtil.showToast(`當(dāng)前屏幕寬高度:${height}px`);
getOrientation 獲取設(shè)備當(dāng)前顯示的方向
let orientation = DisplayUtil.getOrientation();
ToastUtil.showToast(`設(shè)備當(dāng)前顯示的方向:${orientation}`);
getDisplayState 獲取設(shè)備的狀態(tài)
let state = DisplayUtil.getDisplayState();
ToastUtil.showToast(`當(dāng)前設(shè)備的狀態(tài):${state}`);
getCutoutRect 獲取取挖孔屏、劉海屏、瀑布屏等不可用屏幕區(qū)域信息。建議應(yīng)用布局規(guī)避該區(qū)域
let rect = await DisplayUtil.getCutoutRect();
let cutoutInfoStr = JSON.stringify(rect, null, 2);
getCutoutHeight 獲取挖孔屏、劉海屏等不可用屏幕區(qū)域的高度,單位為px
let h = await DisplayUtil.getCutoutHeight();
ToastUtil.showToast(`挖孔屏、劉海屏等不可用屏幕區(qū)域的高度:${h}`);
isFoldable 檢查設(shè)備是否可折疊
let bl = DisplayUtil.isFoldable();
ToastUtil.showToast(`設(shè)備是否可折疊:${bl}`);
getFoldStatus 獲取可折疊設(shè)備的當(dāng)前折疊狀態(tài)
let status = DisplayUtil.getFoldStatus();
ToastUtil.showToast(`折疊設(shè)備的當(dāng)前折疊狀態(tài):${status}`);
getFoldDisplayMode 獲取可折疊設(shè)備的顯示模式
let mode = DisplayUtil.getFoldDisplayMode();
ToastUtil.showToast(`可折疊設(shè)備的顯示模式:${mode}`);
onFoldStatusChange 開啟折疊設(shè)備折疊狀態(tài)變化的監(jiān)聽
ToastUtil.showToast("開啟折疊設(shè)備折疊狀態(tài)變化的監(jiān)聽");
DisplayUtil.onFoldStatusChange((foldStatus: display.FoldStatus) = > {
let foldStatusStr = JSON.stringify(foldStatus, null, 2);
});
offFoldStatusChange 關(guān)閉折疊設(shè)備折疊狀態(tài)變化的監(jiān)聽
ToastUtil.showToast("關(guān)閉折疊設(shè)備折疊狀態(tài)變化的監(jiān)聽");
DisplayUtil.offFoldStatusChange();
onFoldAngleChange 開啟折疊設(shè)備折疊角度變化的監(jiān)聽。如果是雙折軸設(shè)備,則有兩個(gè)角度值;在充電口朝下的狀態(tài)下,從右到左分別是折軸一和折軸二。
ToastUtil.showToast("開啟折疊設(shè)備折疊角度變化的監(jiān)聽");
DisplayUtil.onFoldAngleChange((angles: Array< number >) = > {
LogUtil.info(`折疊角度變化的監(jiān)聽:${angles}`);
ToastUtil.showLong(`折疊角度變化的監(jiān)聽:${angles}`);
});
offFoldAngleChange 關(guān)閉折疊設(shè)備折疊角度變化的監(jiān)聽
ToastUtil.showToast("關(guān)閉折疊設(shè)備折疊角度變化的監(jiān)聽");
DisplayUtil.offFoldAngleChange();
isCaptured 檢查設(shè)備是否正在截屏、投屏、錄屏
let isCaptured = DisplayUtil.isCaptured();
ToastUtil.showToast(`設(shè)備是否正在截屏、投屏、錄屏:${isCaptured}`);
onCaptureStatusChange 開啟屏幕截屏、投屏、錄屏狀態(tài)變化的監(jiān)聽
ToastUtil.showToast("開啟屏幕截屏、投屏、錄屏狀態(tài)變化的監(jiān)聽");
DisplayUtil.onCaptureStatusChange((captureStatus: boolean) = > {
LogUtil.info(`屏幕截屏、投屏、錄屏狀態(tài):${captureStatus}`);
ToastUtil.showLong(`屏幕截屏、投屏、錄屏狀態(tài):${captureStatus}`);
});
offCaptureStatusChange 關(guān)閉屏幕截屏、投屏、錄屏狀態(tài)變化的監(jiān)聽
ToastUtil.showToast("關(guān)閉屏幕截屏、投屏、錄屏狀態(tài)變化的監(jiān)聽");
DisplayUtil.offCaptureStatusChange();
創(chuàng)作不易,請(qǐng)給童長(zhǎng)老點(diǎn)贊
審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
Harmony
+關(guān)注
關(guān)注
0文章
108瀏覽量
3555
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
harmony-utils之CrashUtil,異常相關(guān)工具類
harmony-utils之CrashUtil,異常相關(guān)工具類
harmony-utils之DeviceUtil,設(shè)備相關(guān)工具類
harmony-utils之DeviceUtil,設(shè)備相關(guān)工具類
harmony-utils之EmitterUtil,Emitter工具類
harmony-utils之EmitterUtil,Emitter工具類
harmony-utils之FileUtil,文件相關(guān)工具類
harmony-utils之FileUtil,文件相關(guān)工具類
harmony-utils之ImageUtil,圖片相關(guān)工具類
harmony-utils之ImageUtil,圖片相關(guān)工具類
harmony-utils之LocationUtil,定位相關(guān)工具類
harmony-utils之LocationUtil,定位相關(guān)工具類 harmony-utils
harmony-utils之PreviewUtil,文件預(yù)覽工具類
harmony-utils之PreviewUtil,文件預(yù)覽工具類 harmony-utils 簡(jiǎn)介與說明 [
harmony-utils之SnapshotUtil,截圖相關(guān)工具類
harmony-utils之SnapshotUtil,截圖相關(guān)工具類 harmony-utils
harmony-utils之StrUtil,字符串工具類
harmony-utils之StrUtil,字符串工具類 harmony-utils 簡(jiǎn)介與說明 [ha
harmony-utils之TypeUtil,類型檢查工具類
harmony-utils之TypeUtil,類型檢查工具類 harmony-utils 簡(jiǎn)介與說明 [
harmony-utils之WindowUtil,窗口相關(guān)工具類
harmony-utils之WindowUtil,窗口相關(guān)工具類 harmony-utils 簡(jiǎn)
harmony-utils之AuthUtil,生物認(rèn)證相關(guān)工具類
# harmony-utils之AuthUtil,生物認(rèn)證相關(guān)工具類 ## harmony-utils
harmony-utils之NetworkUtil,網(wǎng)絡(luò)相關(guān)工具類
harmony-utils之NetworkUtil,網(wǎng)絡(luò)相關(guān)工具類 harmony-utils
harmony-utils之DisplayUtil,屏幕相關(guān)工具類
評(píng)論