一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙系統(tǒng)的手勢(shì)操控組件代碼現(xiàn)已開(kāi)源

OpenHarmony技術(shù)社區(qū) ? 來(lái)源:鴻蒙技術(shù)社區(qū) ? 作者:朱偉ISRC ? 2021-06-24 18:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

基于安卓平臺(tái)的手勢(shì)操控組件 PinchImageView-ohos,實(shí)現(xiàn)鴻蒙的功能化遷移和重構(gòu)。代碼已經(jīng)開(kāi)源,歡迎各位開(kāi)發(fā)者提出寶貴意見(jiàn)。

開(kāi)源地址:

https://gitee.com/isrc_ohos/pinch-image-view-ohos

PinchImageView-ohos 是一個(gè)支持多點(diǎn)觸控的 ImageView 手勢(shì)操控組件,通過(guò)識(shí)別單指雙擊、雙指捏合、單指滑動(dòng)等手勢(shì)指令,實(shí)現(xiàn)圖片的放大、縮小、滑動(dòng)等效果。

該組件功能豐富且使用簡(jiǎn)單,被廣泛應(yīng)用于各類圖片預(yù)覽類應(yīng)用。

01

組件效果展示

①雙指相向或相對(duì)捏合,實(shí)現(xiàn)圖片的縮放變化。

②單指雙擊實(shí)現(xiàn)圖片的放大縮小。

③單指雙擊后單指移動(dòng),實(shí)現(xiàn)圖片的放大后平移。

02

Sample 解析

Sample 部分主要負(fù)責(zé)整體顯示布局的搭建。首先為 PinchImageView-ohos 組件設(shè)置顯示圖片,然后將組件對(duì)象添加到顯示布局中。

下面將詳細(xì)介紹組件的使用方法:

步驟 1:創(chuàng)建整體的顯示布局。

步驟 2:導(dǎo)入相關(guān)類并實(shí)例化 PinchImageView-ohos 組件對(duì)象。

步驟 3:設(shè)置顯示圖片。

步驟 4:將 PinchImageView-ohos 組件對(duì)象添加到整體顯示布局中。

//步驟1 創(chuàng)建整體的顯示布局

DirectionalLayout directionalLayout = new DirectionalLayout(this);

//步驟2 導(dǎo)入相關(guān)類并實(shí)例化對(duì)象

PinchImageViewnew pinchImageView = new PinchImageViewnew(this);

//步驟3 設(shè)置顯示圖片

pinchImageView.setPixelMap(this, ResourceTable.Media_1111);

//步驟4 將pinchImageView添加到整體顯示布局中

directionalLayout.addComponent(pinchImageView);

setUIContent(directionalLayout);

03

Library 解析

Library 主要為 PinchImageView-ohos 組件實(shí)現(xiàn)手勢(shì)獲取功能和圖片操控功能。

開(kāi)發(fā)者通過(guò)設(shè)置監(jiān)聽(tīng)器來(lái)捕捉各類手勢(shì),根據(jù)不同的手勢(shì)執(zhí)行不同的圖片操控方法,從而顯示不同的圖片操控效果,如放大、縮小、移動(dòng)。

①手勢(shì)獲取方法

手勢(shì)獲取對(duì)實(shí)現(xiàn) PinchImageView-ohos 組件的功能尤為重要,此處主要通過(guò) onTouchEvent() 方法來(lái)捕捉對(duì)應(yīng)的手勢(shì)。

主要用到的手勢(shì)包含:

PRIMARY_POINT_UP(最后一根手指從屏幕上抬起)

PRIMARY_POINT_DOWN(第一根手指觸摸屏幕)

OTHER_POINT_DOWN(當(dāng)一根或多根手指已經(jīng)觸摸屏幕時(shí),另一個(gè)手指觸摸屏幕 )

OTHER_POINT_UP(一些手指從屏幕上抬起,而一些手指仍留在屏幕上 )

POINT_MOVE(手指在屏幕上移動(dòng))

通過(guò)監(jiān)控各類手勢(shì)的操作順序和觸碰時(shí)間等條件,達(dá)到識(shí)別捏合、滑動(dòng)、單擊、雙擊等復(fù)雜手勢(shì)的效果。

onTouchEvent() 函數(shù)首先通過(guò) TouchEvent.getAction() 方法獲取當(dāng)前的手勢(shì),當(dāng)手勢(shì)為:

(1)PRIMARY_POINT_UP

需要判斷圖片之前是否處于縮放模式(此時(shí)圖片處于縮放狀態(tài))。如果是縮放模式,則觸發(fā)結(jié)束縮放動(dòng)畫,后將手勢(shì)狀態(tài)置于自由模式。

//最后一個(gè)點(diǎn)抬起或者取消,結(jié)束所有模式if (action == TouchEvent.PRIMARY_POINT_UP || action == TouchEvent.CANCEL) {

//如果之前是縮放模式,還需要結(jié)束縮放動(dòng)畫

if (mPinchMode == PINCH_MODE_SCALE) {

scaleEnd();//縮放結(jié)束

}

//手勢(shì)狀態(tài)置于自由模式

mPinchMode = PINCH_MODE_FREE;

}

(2)PRIMARY_POINT_DOWN

需要判斷圖片是否在縮放動(dòng)畫中,若不在,圖片將切換到滾動(dòng)模式(此時(shí)圖片處于可自由移動(dòng)狀態(tài)),并保存觸發(fā)點(diǎn)的位置,用于(5)中的計(jì)算。

else if (action == TouchEvent.PRIMARY_POINT_DOWN) {

//在縮放動(dòng)畫過(guò)程中不允許啟動(dòng)滾動(dòng)模式

if (!(mScaleAnimator != null && mScaleAnimator.isRunning())) {

//在動(dòng)畫過(guò)程中不允許啟動(dòng)滾動(dòng)模式,停止所有動(dòng)畫

cancelAllAnimator();

//切換到滾動(dòng)模式

mPinchMode = PINCH_MODE_SCROLL;

//保存觸發(fā)點(diǎn)的位置用于(5)中的計(jì)算

mLastMovePoint.modify(event.getPointerPosition(0).getX(), event.getPointerPosition(0).getY());

}

}

(3)OTHER_POINT_DOWN

需要將圖片模式切換到縮放模式,并保存兩個(gè)觸發(fā)點(diǎn)的位置,用于(5)中的計(jì)算。

else if (action == TouchEvent.OTHER_POINT_DOWN) {

//在動(dòng)畫過(guò)程中不允許啟動(dòng)縮放模式,停止所有動(dòng)畫

cancelAllAnimator();

//切換到縮放模式

mPinchMode = PINCH_MODE_SCALE;

//保存縮放的兩個(gè)觸發(fā)點(diǎn)的位置,用于(5)中的計(jì)算

saveScaleContext(event.getPointerPosition(0).getX(), event.getPointerPosition(0).getY(), event.getPointerPosition(1).getX(), event.getPointerPosition(1).getY());

}

(4)OTHER_POINT_UP

需要判斷手指抬起后圖片是否處于縮放模式。如果處于縮放模式下,判斷識(shí)別到的手指是否超過(guò)兩個(gè)。

在剩余手指超過(guò)兩個(gè)(縮放模式未結(jié)束)的情況下,第一個(gè)觸摸的手指抬起,那么讓第二個(gè)觸摸的手指和第三個(gè)觸摸的手指所在的點(diǎn)作為縮放控制點(diǎn)。

在剩余手指超過(guò)兩個(gè)(縮放模式未結(jié)束)的情況下,第二個(gè)觸摸的手指抬起,那么讓第一個(gè)觸摸的手指和第三個(gè)觸摸的手指所在的點(diǎn)作為縮放控制點(diǎn)。

如果處于縮放模式下,判斷識(shí)別到的手指只有一個(gè)。此時(shí)不能允許它切換到滾動(dòng)模式,因?yàn)閳D片可能沒(méi)有在初始的位置上。

手指抬起后圖片未處于縮放模式時(shí)(屏幕上僅剩余一個(gè)手指),開(kāi)啟滾動(dòng)模式,并記錄開(kāi)始滾動(dòng)的點(diǎn)。

else if (action == TouchEvent.OTHER_POINT_UP) {

//多個(gè)手指情況下抬起一個(gè)手指,此時(shí)需要是縮放模式才觸發(fā)

if (mPinchMode == PINCH_MODE_SCALE) {

//抬起的點(diǎn)如果大于2,那么縮放模式還有效,但是有可能初始點(diǎn)變了,重新測(cè)量初始點(diǎn)

if (event.getPointerCount() 》 2) {

//如果還沒(méi)結(jié)束縮放模式,但是第一個(gè)點(diǎn)抬起了,那么讓第二個(gè)點(diǎn)和第三個(gè)點(diǎn)作為縮放控制點(diǎn)

if (event.getAction() 》》 8 == 0) {

event.getPointerPosition(1).getX();

saveScaleContext(event.getPointerPosition(1).getX(), event.getPointerPosition(1).getY(), event.getPointerPosition(2).getX(), event.getPointerPosition(2).getY());

//如果還沒(méi)結(jié)束縮放模式,但是第二個(gè)點(diǎn)抬起了,那么讓第一個(gè)點(diǎn)和第三個(gè)點(diǎn)作為縮放控制點(diǎn)

} else if (event.getAction() 》》 8 == 1) {

saveScaleContext(event.getPointerPosition(0).getX(), event.getPointerPosition(0).getY(), event.getPointerPosition(2).getX(), event.getPointerPosition(2).getY());

}

}

//如果抬起的點(diǎn)等于2,那么此時(shí)只剩下一個(gè)點(diǎn),也不允許進(jìn)入單指模式,因?yàn)榇藭r(shí)可能圖片沒(méi)有在正確的位置上

}

}

(5)POINT_MOVE

需要判斷當(dāng)前圖片的模式。當(dāng)為滾動(dòng)模式時(shí),執(zhí)行 scrollBy() 方法來(lái)實(shí)現(xiàn)圖片的移動(dòng)效果;當(dāng)它為縮放模式時(shí),計(jì)算兩個(gè)縮放點(diǎn)的距離和縮放點(diǎn)的中心,并執(zhí)行 scale() 方法實(shí)現(xiàn)圖片的縮放效果。

scrollBy() 方法和 scale() 方法的具體邏輯在圖片操控方法中有詳細(xì)介紹,此處就不做過(guò)多贅述。

else if (action == TouchEvent.POINT_MOVE) {

if (?。╩ScaleAnimator != null && mScaleAnimator.isRunning())) {

//在滾動(dòng)模式下移動(dòng)

if (mPinchMode == PINCH_MODE_SCROLL) {

//每次移動(dòng)產(chǎn)生一個(gè)差值累積到圖片位置上

scrollBy(event.getPointerPosition(0).getX() - mLastMovePoint.position[0], event.getPointerPosition(0).getY() - mLastMovePoint.position[1]);

//記錄新的移動(dòng)點(diǎn)

mLastMovePoint.modify(event.getPointerPosition(0).getX(), event.getPointerPosition(0).getY());

//在縮放模式下移動(dòng)

} else if (mPinchMode == PINCH_MODE_SCALE && event.getPointerCount() 》 1) {

//兩個(gè)縮放點(diǎn)間的距離

float distance = MathUtils.getDistance(event.getPointerPosition(0).getX(), event.getPointerPosition(0).getY(), event.getPointerPosition(1).getX(), event.getPointerPosition(1).getY());

//保存縮放點(diǎn)中心

float[] lineCenter = MathUtils.getCenterPoint(event.getPointerPosition(0).getX(), event.getPointerPosition(0).getY(), event.getPointerPosition(1).getX(), event.getPointerPosition(1).getY());

mLastMovePoint.modify(lineCenter[0], lineCenter[1]);

//處理縮放

scale(mScaleCenter, mScaleBase, distance, mLastMovePoint);

}

}

}

②圖片操控方法

1、圖片縮放

雙指捏合:顧名思義是表示兩根手指向相反方向移動(dòng)的操作,該操作可實(shí)現(xiàn)圖片放大縮小的效果。雙指捏合完成圖片縮放的功能是由 scale() 方法實(shí)現(xiàn)的。

在 scale() 方法體中需要設(shè)置各種縮放參數(shù):scaleBase 是縮放系數(shù)、scaleCenter 代表圖片縮放中點(diǎn)、distance 指兩指間距離、lineCenter 是兩指中點(diǎn)。

scaleBase 和 distance 相乘會(huì)得到縮放比例,圖片依舊縮放比例進(jìn)行變化。

在縮放過(guò)程中,圖片縮放中點(diǎn) scaleCenter 會(huì)跟隨兩指中點(diǎn) lineCenter 移動(dòng),實(shí)現(xiàn)以兩指中點(diǎn)為中心對(duì)圖片進(jìn)行放大縮小的效果,縮放效果如圖 4 所示。圖 4:圖片雙指縮放

private void scale(Point scaleCenter, float scaleBase, float distance, Point lineCenter) {

if (!isReady()) {

return;

}

//計(jì)算圖片從fit center狀態(tài)到目標(biāo)狀態(tài)的縮放比例

float scale = scaleBase * distance;

Matrix matrix = MathUtils.matrixTake();

//按照?qǐng)D片縮放中心縮放,并且讓縮放中心在縮放點(diǎn)中點(diǎn)上

matrix.postScale(scale, scale, scaleCenter.position[0], scaleCenter.position[1]);

//讓圖片的縮放中點(diǎn)跟隨手指縮放中點(diǎn)

matrix.postTranslate(lineCenter.position[0] - scaleCenter.position[0], lineCenter.position[1] - scaleCenter.position[1]);

//應(yīng)用變換

mOuterMatrix.setMatrix(matrix);

MathUtils.matrixGiven(matrix);

dispatchOuterMatrixChanged();

//重繪

invalidate();

}

單指雙擊:表示用單根手指雙擊屏幕的操作,該操作可實(shí)現(xiàn)圖片放大縮小的效果,單指雙擊完成圖片縮放的功能是由 doubleTap() 方法實(shí)現(xiàn)的。

在 doubleTap() 方法體中我們初始化了一個(gè)縮放動(dòng)畫的對(duì)象 mScaleAnimator(),它有兩個(gè)參數(shù)分別為 mOuterMatrix(開(kāi)始矩陣)和 animEnd(結(jié)束矩陣)。

開(kāi)始矩陣表示圖片原來(lái)的位置與大?。唤Y(jié)束矩陣表示圖片縮放后的位置與大小,是根據(jù)放大比例和雙擊點(diǎn)位置確定的。

確定圖片的開(kāi)始和結(jié)束矩陣后,啟動(dòng)縮放動(dòng)畫,便可以實(shí)現(xiàn)縮放效果,如圖 5 所示:

private void doubleTap(float x, float y) {

...

//開(kāi)始計(jì)算縮放動(dòng)畫的結(jié)果矩陣

Matrix animEnd = MathUtils.matrixTake(mOuterMatrix);

//計(jì)算還需縮放的倍數(shù)

animEnd.postScale(nextScale / currentScale, nextScale / currentScale, x, y);

//將放大點(diǎn)移動(dòng)到控件中心

animEnd.postTranslate(displayWidth / 2f - x, displayHeight / 2f - y);

RectFloat testBound = MathUtils.rectFTake(0,0,mp.getImageInfo().size.width,mp.getImageInfo().size.height);

...

//清理當(dāng)前可能正在執(zhí)行的動(dòng)畫

cancelAllAnimator();

//啟動(dòng)矩陣動(dòng)畫

mScaleAnimator = new ScaleAnimator(mOuterMatrix, animEnd);

mScaleAnimator.start();

...

}

2、圖片在縮放狀態(tài)下移動(dòng)

單指滑動(dòng)表示手指在屏幕上完成矢量平移,是圖片移動(dòng)的唯一方式。該功能是通過(guò) scrollBy() 方法實(shí)現(xiàn)的。

以實(shí)現(xiàn)圖片左右移動(dòng)為例,在 scrollBy() 方法中,需要判斷縮放狀態(tài)下圖片位移的最大距離,有以下幾種不同的情況:

圖片移動(dòng)后,左側(cè)邊緣超出控件的左側(cè)邊緣,圖片無(wú)法移動(dòng)。

圖片移動(dòng)后,右側(cè)邊緣超出控件的右側(cè)邊緣,圖片無(wú)法移動(dòng)。

圖片移動(dòng)后,兩側(cè)都未超出控件邊緣的情況下,將以手指觸碰點(diǎn)作為控制點(diǎn),對(duì)圖片進(jìn)行水平移動(dòng)。

圖片上下平移的情況與左右平移類似,這里不做贅述,圖片移動(dòng)效果如圖 6 所示:

圖 6:圖片移動(dòng)的最大距離

public boolean scrollBy(float xDiff, float yDiff) {

...

if (bound.right - bound.left 《 displayWidth) {

xDiff = 0;

//如果圖片左邊在移動(dòng)后超出控件左邊

} else if (bound.left + xDiff 》 0) {

//如果在移動(dòng)之前是沒(méi)超出的,計(jì)算應(yīng)該移動(dòng)的距離

if (bound.left 《 0) {

xDiff = -bound.left;

//否則無(wú)法移動(dòng)

} else {

xDiff = 0;

}

//如果圖片右邊在移動(dòng)后超出控件右邊

} else if (bound.right + xDiff 《 displayWidth) {

//如果在移動(dòng)之前是沒(méi)超出的,計(jì)算應(yīng)該移動(dòng)的距離

if (bound.right 》 displayWidth) {

xDiff = displayWidth - bound.right;

//否則無(wú)法移動(dòng)

} else {

xDiff = 0;

}

}

...

}

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7143

    瀏覽量

    125552
  • 鴻蒙系統(tǒng)
    +關(guān)注

    關(guān)注

    183

    文章

    2642

    瀏覽量

    68066
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2126

    瀏覽量

    32977

原文標(biāo)題:鴻蒙手勢(shì)操控組件,代碼已開(kāi)源!

文章出處:【微信號(hào):gh_834c4b3d87fe,微信公眾號(hào):OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐

    【HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財(cái)# 一、
    的頭像 發(fā)表于 07-11 18:20 ?271次閱讀
    【HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)<b class='flag-5'>鴻蒙</b><b class='flag-5'>組件</b>實(shí)踐

    開(kāi)源鴻蒙應(yīng)用技術(shù)組件共建計(jì)劃啟動(dòng)

    近日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025(OHDC.2025,以下簡(jiǎn)稱“大會(huì)”)在深圳成功舉辦。開(kāi)源四年多來(lái),開(kāi)源鴻蒙
    的頭像 發(fā)表于 06-05 14:33 ?422次閱讀

    開(kāi)源鴻蒙操作系統(tǒng)的生態(tài)成果與落地實(shí)踐

    電網(wǎng)、中國(guó)科學(xué)院軟件研究所、證通電子等合作單位共同支持。本次大會(huì)聚焦開(kāi)源鴻蒙 5.1 Release版本,面向開(kāi)發(fā)者和伙伴深度展示開(kāi)源鴻蒙操作系統(tǒng)
    的頭像 發(fā)表于 06-05 14:27 ?524次閱讀

    Kuikly鴻蒙版正式開(kāi)源 —— 揭秘卓越性能適配之旅

    、系統(tǒng)化工作,同時(shí)為了達(dá)到高性能、原生渲染、動(dòng)態(tài)化等適配目標(biāo),進(jìn)行了持續(xù)的探索和優(yōu)化。其核心適配工作包括:對(duì)接鴻蒙UI系統(tǒng),封裝原子組件,對(duì)接事件
    發(fā)表于 06-04 16:46

    廣州頤能加入開(kāi)源鴻蒙電力專委會(huì)

    近日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025在深圳盛大召開(kāi),生態(tài)伙伴、實(shí)踐專家、開(kāi)發(fā)者等創(chuàng)新力量齊聚一堂,共同聚焦開(kāi)源鴻蒙操作系統(tǒng)的技術(shù)革新與生態(tài)建設(shè)成
    的頭像 發(fā)表于 06-03 16:32 ?446次閱讀

    潤(rùn)和軟件旗下潤(rùn)開(kāi)鴻亮相開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025

    近日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025(OHDC.2025)于深圳再啟新篇,會(huì)上正式發(fā)布了開(kāi)源鴻蒙5.1 Release版本,并進(jìn)行開(kāi)源
    的頭像 發(fā)表于 06-03 16:22 ?597次閱讀

    迅龍軟件應(yīng)邀出席開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025,AI分論壇發(fā)表主旨演講

    5月24日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025(OHDC.2025)在深圳隆重開(kāi)幕。會(huì)上正式發(fā)布了開(kāi)源鴻蒙5.1Release版本,并進(jìn)行開(kāi)源
    的頭像 發(fā)表于 05-28 16:05 ?397次閱讀
    迅龍軟件應(yīng)邀出席<b class='flag-5'>開(kāi)源</b><b class='flag-5'>鴻蒙</b>開(kāi)發(fā)者大會(huì)2025,AI分論壇發(fā)表主旨演講

    2025開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)圓滿落幕

    近日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025(OHDC.2025,簡(jiǎn)稱“大會(huì)”)在深圳隆重開(kāi)幕。大會(huì)正式發(fā)布了開(kāi)源鴻蒙5.1 Release版本,舉行了開(kāi)源
    的頭像 發(fā)表于 05-26 17:03 ?557次閱讀

    開(kāi)源鴻蒙之城”生態(tài)新高地:全國(guó)首家省級(jí)開(kāi)源鴻蒙制造業(yè)創(chuàng)新中心落戶深圳前海

    名單,“廣東省開(kāi)源鴻蒙智能物聯(lián)網(wǎng)創(chuàng)新中心”在列,牽頭單位為深開(kāi)鴻、深圳中軟國(guó)際科技服務(wù)有限公司。該中心將圍繞開(kāi)源鴻蒙(OpenHarmony)操作
    的頭像 發(fā)表于 05-14 15:42 ?356次閱讀
    “<b class='flag-5'>開(kāi)源</b><b class='flag-5'>鴻蒙</b>之城”生態(tài)新高地:全國(guó)首家省級(jí)<b class='flag-5'>開(kāi)源</b><b class='flag-5'>鴻蒙</b>制造業(yè)創(chuàng)新中心落戶深圳前海

    DialogHub上線OpenHarmony開(kāi)源社區(qū),高效開(kāi)發(fā)鴻蒙應(yīng)用彈窗

    應(yīng)用中,“DialogHub”的能力也得到了開(kāi)發(fā)者的高度認(rèn)可。據(jù)某頭部App開(kāi)發(fā)者反饋:“DialogHub”對(duì)系統(tǒng)彈窗進(jìn)行了統(tǒng)一封裝,鏈?zhǔn)秸{(diào)用學(xué)習(xí)成本低,一行代碼就能完成彈窗屬性配置,代碼更加簡(jiǎn)潔清晰
    發(fā)表于 04-03 17:30

    【貝啟科技BQ3568HM開(kāi)源鴻蒙開(kāi)發(fā)板深度試用報(bào)告】系統(tǒng)鏡像編譯和燒錄

    于進(jìn)行圖形界面應(yīng)用的開(kāi)發(fā)。貝啟科技BQ3568HM開(kāi)源鴻蒙開(kāi)發(fā)板配備了顯示屏,可以開(kāi)發(fā)GUI應(yīng)用。 一、系統(tǒng)鏡像編譯 參考 BQ3568_代碼下載-
    發(fā)表于 03-16 10:53

    開(kāi)源啦?。?!基于鴻蒙ArkTS封裝的圖表組件《McCharts》,大家快來(lái)一起共創(chuàng)

    的地方請(qǐng)大家高抬貴手,寬容一下,謝謝。 這次主要是給大家?guī)?lái)一個(gè)重磅消息,就是我自己使用鴻蒙ArkTS語(yǔ)法開(kāi)發(fā)的圖表組件今日正式開(kāi)源了。為什么?原因有兩點(diǎn)吧! 鴻蒙是國(guó)產(chǎn)的操作
    發(fā)表于 03-15 15:21

    開(kāi)源大師兄怎么刷鴻蒙系統(tǒng)的,那些傳感器配件還能調(diào)用嗎

    開(kāi)源大師兄怎么刷鴻蒙系統(tǒng)的,那些傳感器配件還能調(diào)用嗎
    發(fā)表于 01-03 14:32

    開(kāi)源鴻蒙榮獲開(kāi)放原子“2024年度操作系統(tǒng)領(lǐng)域國(guó)內(nèi)活躍開(kāi)源項(xiàng)目”

    開(kāi)源鴻蒙”或“OpenHarmony”)榮獲“2024年度操作系統(tǒng)領(lǐng)域國(guó)內(nèi)活躍開(kāi)源項(xiàng)目”。 活躍的開(kāi)源項(xiàng)目是
    的頭像 發(fā)表于 12-28 15:39 ?893次閱讀

    開(kāi)源鴻蒙操作系統(tǒng)5.0 Release版本發(fā)布

    開(kāi)源鴻蒙操作系統(tǒng)5.0 Release版本。 該版本在系統(tǒng)完備度、分布式創(chuàng)新、開(kāi)發(fā)者體驗(yàn)以及系統(tǒng)穩(wěn)定性等方面均實(shí)現(xiàn)了顯著提升,標(biāo)志著
    的頭像 發(fā)表于 12-23 11:35 ?2264次閱讀