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