項(xiàng)目介紹
本項(xiàng)目是基于開(kāi)源項(xiàng)目[Carbon] 進(jìn)行harmonyos化的移植和開(kāi)發(fā)的。
移植版本:Branches/master
這不是單純只是API和基本功能展示demo,它是最有用的自定義控件的實(shí)現(xiàn),如設(shè)計(jì)規(guī)范中所示。
Carbon試圖:
- 讓事情變得更簡(jiǎn)單(指定cornerRadius='dp' 而不是創(chuàng)建一個(gè)xml 和/或一個(gè)ViewOutlineProvider)
- 使其全部工作并在所有 API 上看起來(lái)都相同(例如 CheckBox 的左填充)
- 真正向后移植功能(不要對(duì)陰影使用漸變?。?/li>
項(xiàng)目名稱:Carbon
所屬系列:harmonyos的第三方組件適配移植
功能:一個(gè)適用于鴻蒙的自定義組件框架,幫助快速實(shí)現(xiàn)各種需要的效果
項(xiàng)目移植狀態(tài):大部分移植
調(diào)用差異:基本沒(méi)有使用差異,可以參照單元測(cè)試或原項(xiàng)目api進(jìn)行使用
支持功能
- 支持自定義progressBar功能
- 支持自定義RoundProgressBar功能
- 支持Button不同點(diǎn)擊效果功能
- 支持自定義SeekBar滑動(dòng)功能
- 支持各種動(dòng)畫(huà)效果展示
- 支持添加收藏組件,快速查找
- 支持各種列表展示(包含頭像,文字等)功能
- 支持展示控件代碼功能
- 支持不同Dialog效果展示
- 以及其它自定義效果/控件
安裝教程
方案一
可以先下載項(xiàng)目,將項(xiàng)目中的carbon庫(kù)提取出來(lái)放在所需項(xiàng)目中通過(guò)build配置
dependencies {
implementation project(":carbon")
}
方案二
- 1.項(xiàng)目根目錄的build.gradle中的repositories添加:
buildscript {
repositories {
...
mavenCentral()
}
...
}
allprojects {
repositories {
...
mavenCentral()
}
}
- 2.開(kāi)發(fā)者在自己的項(xiàng)目中添加依賴
dependencies {
implementation 'com.gitee.ts_ohos:carbon:1.0.0'
}
使用說(shuō)明
1.權(quán)限
需要網(wǎng)絡(luò)權(quán)限:
"name": "ohos.permission.INTERNET"
2.代碼使用
打開(kāi)不同的設(shè)置頁(yè)面:
often_text.setClickedListener(component - > {
Intent intent = new Intent();
if (often_text.getText().equals("Widget animations")) {
present(new WidgetAnimationsSlice(), intent);
} else if (often_text.getText().equals("Image fade")) {
present(new ImageFadeSlice(), intent);
} else if (often_text.getText().equals("Touch ripple")) {
present(new TouchRippleSlice(), intent);
} else if (often_text.getText().equals("Path animation")) {
present(new PathAnimationSlice(), intent);
}
...
// BORDERLESS 觸摸事件監(jiān)聽(tīng)器(按下/抬起)(three)
btnBorderless.setTouchEventListener(new Component.TouchEventListener() {
@Override
public boolean onTouchEvent(Component component, TouchEvent touchEvent) {
int action = touchEvent.getAction();
switch (action) {
case TouchEvent.PRIMARY_POINT_DOWN:
imageView.setVisibility(Component.VISIBLE);
break;
case TouchEvent.CANCEL:
case TouchEvent.PRIMARY_POINT_UP:
imageView.setVisibility(Component.HIDE);
break;
}
return true;
}
});
//對(duì)每個(gè)條目判斷是否收藏:
mList.add(new DataBean(null, "The most popular problem solutions and other fun ideas implemented with Carbon's widgets and features", null, null));
mList.add(new DataBean(power, "Power Menu", null, preferences.getBoolean("Power Menu", false) ? starFavour : favour));
mList.add(new DataBean(null, "Auto Complete", element, preferences.getBoolean("Auto Complete", false) ? starFavour : favour));
mList.add(new DataBean(null, "Quick Return", null, preferences.getBoolean("Quick Return", false) ? starFavour : favour));
mList.add(new DataBean(search, "Search Toolbar", null, preferences.getBoolean("Search Toolbar", false) ? starFavour : favour));
mList.add(new DataBean(parse1, "Share toolbar", element, preferences.getBoolean("Share toolbar", false) ? starFavour : favour));
mList.add(new DataBean(person, "Profile", null, preferences.getBoolean("Profile", false) ? starFavour : favour));
mList.add(new DataBean(player, "Music player", element, preferences.getBoolean("Music player", false) ? starFavour : favour));
mList.add(new DataBean(null, "Collapsing toolbar", null, preferences.getBoolean("Collapsing toolbar", false) ? starFavour : favour));
更多鴻蒙開(kāi)發(fā)學(xué)習(xí)內(nèi)容[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]前往參考學(xué)習(xí)。

效果演示
demo部分組件運(yùn)行效果如下:
- 主頁(yè)展示效果
- What's new界面展示效果
- 收藏頁(yè)面展示
- Line chart頁(yè)面運(yùn)行效果
- Theme頁(yè)面運(yùn)行效果
- Backdrop及展開(kāi)頁(yè)面運(yùn)行效果
- Profiles頁(yè)面運(yùn)行效果
- Circular_progress頁(yè)面運(yùn)行效果
- Meuns頁(yè)面運(yùn)行效果
- Music_player頁(yè)面運(yùn)行效果
- Settings頁(yè)面運(yùn)行效果












審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
-
開(kāi)源
+關(guān)注
關(guān)注
3文章
4209瀏覽量
46168 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2963瀏覽量
45920
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
鴻蒙ArkUI開(kāi)發(fā)-Video組件的使用
以視頻功能為例,在應(yīng)用開(kāi)發(fā)過(guò)程中,我們需要通過(guò)ArkUI提供的Video組件為應(yīng)用增加基礎(chǔ)的視頻播放功能。借助Video組件,我們可以實(shí)現(xiàn)視頻的播放功能并控制其播放狀態(tài)。常見(jiàn)的視頻播放場(chǎng)景包括觀看網(wǎng)絡(luò)上的較為流行的短視頻,也包括查看我們存儲(chǔ)在本地的視頻內(nèi)容。
鴻蒙ArkUI開(kāi)發(fā)學(xué)習(xí):【渲染控制語(yǔ)法】
ArkUI開(kāi)發(fā)框架是一套構(gòu)建 HarmonyOS / OpenHarmony 應(yīng)用界面的聲明式UI開(kāi)發(fā)框架,它支持程序使用?`if/else`?條件渲染,?`ForEach`?循環(huán)渲染以及?`LazyForEach`?懶加載渲染
鴻蒙開(kāi)發(fā)學(xué)習(xí):初探【ArkUI-X】
**簡(jiǎn)單來(lái)說(shuō),ArkTS + ArkUI-X 對(duì)標(biāo)的框架為 flutter,一次代碼,編譯為 native 全平臺(tái)運(yùn)行**
鴻蒙開(kāi)發(fā)ArkUI-X基礎(chǔ)知識(shí):【ArkUI跨平臺(tái)設(shè)計(jì)總體說(shuō)明】
本文檔描述ArkUI開(kāi)發(fā)框架跨平臺(tái)運(yùn)行能力相關(guān)的總體技術(shù)方案。
鴻蒙開(kāi)發(fā)ArkUI-X基礎(chǔ)知識(shí):【ArkUI代碼工程及構(gòu)建介紹】
ArkUI作為OpenHarmony的默認(rèn)開(kāi)發(fā)框架,在本項(xiàng)目(ArkUI-X)中需要做到一套代碼同時(shí)支持多平臺(tái)構(gòu)建,所以會(huì)采取共倉(cāng)開(kāi)發(fā)的方式,部分倉(cāng)直接指向OpenHarmony相關(guān)開(kāi)
適用于鴻蒙的自定義組件框架Carbon案例教程
項(xiàng)目名稱:Carbon 所屬系列:ohos的第三方組件適配移植 功能:一個(gè)適用于鴻蒙的自定義組件框架,幫助快速實(shí)現(xiàn)各種需要的效果 項(xiàng)目移植狀態(tài):大部分
發(fā)表于 04-07 09:49
?5次下載
ArkUI新能力,助力應(yīng)用開(kāi)發(fā)更便捷
作者:niulihua,華為ArkUI技術(shù)專家;wanglei,華為ArkUI技術(shù)專家 ArkUI是一套構(gòu)建分布式應(yīng)用的聲明式UI開(kāi)發(fā)框架。它具備簡(jiǎn)潔自然的UI信息語(yǔ)法、豐富的UI組件
鴻蒙ArkUI開(kāi)發(fā)-應(yīng)用添加彈窗
彈窗是一種模態(tài)窗口,通常用來(lái)展示用戶當(dāng)前需要的或用戶必須關(guān)注的信息或操作。在彈出框消失之前,用戶無(wú)法操作其他界面內(nèi)容。ArkUI為我們提供了豐富的彈窗功能
鴻蒙ArkUI:【從代碼到UI顯示的整體渲染流程】
方舟開(kāi)發(fā)框架(簡(jiǎn)稱ArkUI)是鴻蒙開(kāi)發(fā)的UI框架,提供如下兩種開(kāi)發(fā)范式,我們 **只學(xué)聲明式開(kāi)發(fā)
鴻蒙ArkUI-X跨平臺(tái)技術(shù):【開(kāi)發(fā)準(zhǔn)備】
本文檔適用于ArkUI跨平臺(tái)應(yīng)用開(kāi)發(fā)的初學(xué)者。通過(guò)開(kāi)發(fā)環(huán)境搭建、應(yīng)用工程創(chuàng)建、編譯和運(yùn)行,熟悉ArkUI跨平臺(tái)應(yīng)用開(kāi)發(fā)基本流程。
鴻蒙ArkUI-X跨平臺(tái)開(kāi)發(fā):【 編寫(xiě)第一個(gè)ArkUI-X應(yīng)用】
通過(guò)構(gòu)建一個(gè)簡(jiǎn)單的ArkUI頁(yè)面跳轉(zhuǎn)示例,快速了解資源創(chuàng)建引用,路由代碼編寫(xiě)和UI布局編寫(xiě)等應(yīng)用開(kāi)發(fā)流程。
鴻蒙ArkUI-X框架開(kāi)發(fā):【開(kāi)發(fā)準(zhǔn)備】
本文檔適用于ArkUI-X框架開(kāi)發(fā)的初學(xué)者。通過(guò)環(huán)境搭建、代碼下載、代碼編譯、API擴(kuò)展和使用,快速了解跨平臺(tái)項(xiàng)目開(kāi)發(fā)流程。
鴻蒙ArkUI【開(kāi)發(fā)移植Carbon】
評(píng)論