<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙ArkUI【開發移植Carbon】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-03-25 15:41 ? 次閱讀

項目介紹

本項目是基于開源項目[Carbon] 進行harmonyos化的移植和開發的。

移植版本:Branches/master

這不是單純只是API和基本功能展示demo,它是最有用的自定義控件的實現,如設計規范中所示。
Carbon試圖:

  • 讓事情變得更簡單(指定cornerRadius='dp' 而不是創建一個xml 和/或一個ViewOutlineProvider)
  • 使其全部工作并在所有 API 上看起來都相同(例如 CheckBox 的左填充)
  • 真正向后移植功能(不要對陰影使用漸變?。?/li>

項目名稱:Carbon

所屬系列:harmonyos的第三方組件適配移植

功能:一個適用于鴻蒙的自定義組件框架,幫助快速實現各種需要的效果

項目移植狀態:大部分移植

調用差異:基本沒有使用差異,可以參照單元測試或原項目api進行使用

支持功能

  • 支持自定義progressBar功能
  • 支持自定義RoundProgressBar功能
  • 支持Button不同點擊效果功能
  • 支持自定義SeekBar滑動功能
  • 支持各種動畫效果展示
  • 支持添加收藏組件,快速查找
  • 支持各種列表展示(包含頭像,文字等)功能
  • 支持展示控件代碼功能
  • 支持不同Dialog效果展示
  • 以及其它自定義效果/控件

安裝教程

方案一

可以先下載項目,將項目中的carbon庫提取出來放在所需項目中通過build配置

dependencies {
     implementation project(":carbon")
}

方案二

  • 1.項目根目錄的build.gradle中的repositories添加:
buildscript {
       repositories {
           ...
           mavenCentral()
       }
       ...
   }
   
   allprojects {
       repositories {
           ...
           mavenCentral()
       }
   }
dependencies {
    implementation 'com.gitee.ts_ohos:carbon:1.0.0'
}

使用說明

1.權限

需要網絡權限:
"name": "ohos.permission.INTERNET"

2.代碼使用

打開不同的設置頁面:  
            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 觸摸事件監聽器(按下/抬起)(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;
            }
        });

        //對每個條目判斷是否收藏:
        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));

更多鴻蒙開發學習內容[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]前往參考學習。

鴻蒙系統移植和裁剪定制.png

效果演示

demo部分組件運行效果如下:

  • 主頁展示效果
  • What's new界面展示效果
  • 收藏頁面展示
  • Line chart頁面運行效果
  • Theme頁面運行效果
  • Backdrop及展開頁面運行效果
  • Profiles頁面運行效果
  • Circular_progress頁面運行效果
  • Meuns頁面運行效果
  • Music_player頁面運行效果
  • Settings頁面運行效果

主頁運行效果what_new展開頁面運行效果

favourties展開頁面運行效果

line chart頁面運行效果theme運行效果

backdrop運行效果backdrop展開頁面運行效果

profiles運行效果

circular_progress運行效果meuns運行效果

music_player展開頁面運行效果

settings展開頁面運行效果

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開源
    +關注

    關注

    3

    文章

    3026

    瀏覽量

    41780
  • 鴻蒙
    +關注

    關注

    55

    文章

    1919

    瀏覽量

    42197
收藏 人收藏

    評論

    相關推薦

    鴻蒙ArkUI開發-Video組件的使用

    以視頻功能為例,在應用開發過程中,我們需要通過ArkUI提供的Video組件為應用增加基礎的視頻播放功能。借助Video組件,我們可以實現視頻的播放功能并控制其播放狀態。常見的視頻播放場景包括觀看網絡上的較為流行的短視頻,也包括查看我們存儲在本地的視頻內容。
    的頭像 發表于 01-23 16:59 ?699次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b><b class='flag-5'>開發</b>-Video組件的使用

    鴻蒙ArkUI開發學習:【渲染控制語法】

    ArkUI開發框架是一套構建 HarmonyOS / OpenHarmony 應用界面的聲明式UI開發框架,它支持程序使用?`if/else`?條件渲染,?`ForEach`?循環渲染以及?`LazyForEach`?懶加載渲染
    的頭像 發表于 04-09 16:40 ?522次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b><b class='flag-5'>開發</b>學習:【渲染控制語法】

    鴻蒙ArkUI-X跨平臺開發:【SDK目錄結構介紹】

    本文檔配套ArkUI-X,將OpenHarmony ArkUI開發框架擴展到不同的OS平臺,比如Android和iOS平臺,讓開發者基于ArkUI
    的頭像 發表于 05-20 16:28 ?480次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>-X跨平臺<b class='flag-5'>開發</b>:【SDK目錄結構介紹】

    鴻蒙開發ArkUI-X基礎知識:【ArkUI跨平臺設計總體說明】

    本文檔描述ArkUI開發框架跨平臺運行能力相關的總體技術方案。
    的頭像 發表于 05-24 15:41 ?702次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>ArkUI</b>-X基礎知識:【<b class='flag-5'>ArkUI</b>跨平臺設計總體說明】

    鴻蒙開發ArkUI-X基礎知識:【ArkUI代碼工程及構建介紹】

    ArkUI作為OpenHarmony的默認開發框架,在本項目(ArkUI-X)中需要做到一套代碼同時支持多平臺構建,所以會采取共倉開發的方式,部分倉直接指向OpenHarmony相關開
    的頭像 發表于 05-25 16:45 ?1628次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>ArkUI</b>-X基礎知識:【<b class='flag-5'>ArkUI</b>代碼工程及構建介紹】

    鴻蒙系統開發教程_韋東山 2-1移植RTOS需要做的事

    鴻蒙系統開發教程_韋東山 2-1移植RTOS需要做的事
    發表于 11-13 21:06 ?17次下載
    <b class='flag-5'>鴻蒙</b>系統<b class='flag-5'>開發</b>教程_韋東山  2-1<b class='flag-5'>移植</b>RTOS需要做的事

    鴻蒙ArkUI開發-Tabs組件的使用

    鴻蒙ArkUI開發-Tabs組件的使用
    的頭像 發表于 01-19 16:01 ?647次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b><b class='flag-5'>開發</b>-Tabs組件的使用

    鴻蒙ArkUI開發實戰:eTS版【笑話app】

    制作一款笑話app,使用ArkUI。
    的頭像 發表于 03-25 16:04 ?228次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b><b class='flag-5'>開發</b>實戰:eTS版【笑話app】

    鴻蒙ArkUI:【從代碼到UI顯示的整體渲染流程】

    方舟開發框架(簡稱ArkUI)是鴻蒙開發的UI框架,提供如下兩種開發范式,我們 **只學聲明式開發
    的頭像 發表于 05-13 16:06 ?232次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>:【從代碼到UI顯示的整體渲染流程】

    鴻蒙跨平臺框架:【ArkUi-X】創建工程

    鴻蒙推出了鴻ArkUi-X 框架所以就寫個文章分享一下
    的頭像 發表于 05-13 17:48 ?238次閱讀
    <b class='flag-5'>鴻蒙</b>跨平臺框架:【<b class='flag-5'>ArkUi</b>-X】創建工程

    鴻蒙ArkUI-X跨平臺技術:【開發準備】

    本文檔適用于ArkUI跨平臺應用開發的初學者。通過開發環境搭建、應用工程創建、編譯和運行,熟悉ArkUI跨平臺應用開發基本流程。
    的頭像 發表于 05-24 10:40 ?141次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>-X跨平臺技術:【<b class='flag-5'>開發</b>準備】

    鴻蒙ArkUI-X跨平臺開發:【 編寫第一個ArkUI-X應用】

    通過構建一個簡單的ArkUI頁面跳轉示例,快速了解資源創建引用,路由代碼編寫和UI布局編寫等應用開發流程。
    的頭像 發表于 05-21 17:36 ?206次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>-X跨平臺<b class='flag-5'>開發</b>:【 編寫第一個<b class='flag-5'>ArkUI</b>-X應用】

    鴻蒙ArkUI-X跨平臺開發:【 應用工程結構說明】

    本文檔配套ArkUI-X,將OpenHarmony ArkUI開發框架擴展到不同的OS平臺,比如Android和iOS平臺,讓開發者基于ArkUI
    的頭像 發表于 05-19 21:05 ?118次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>-X跨平臺<b class='flag-5'>開發</b>:【 應用工程結構說明】

    鴻蒙ArkUI-X跨語言調用說明:【平臺橋接(@arkui-x.bridge)】

    平臺橋接用于客戶端(ArkUI)和平臺(Android或iOS)之間傳遞消息,即用于ArkUI與平臺雙向數據傳遞、ArkUI側調用平臺的方法、平臺調用ArkUI側的方法。
    的頭像 發表于 05-21 15:09 ?138次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>-X跨語言調用說明:【平臺橋接(@<b class='flag-5'>arkui</b>-x.bridge)】

    鴻蒙ArkUI-X框架開發:【開發準備】

    本文檔適用于ArkUI-X框架開發的初學者。通過環境搭建、代碼下載、代碼編譯、API擴展和使用,快速了解跨平臺項目開發流程。
    的頭像 發表于 05-23 21:02 ?115次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>-X框架<b class='flag-5'>開發</b>:【<b class='flag-5'>開發</b>準備】
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>