1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ts_ohos-Carbon

Клонировать/Скачать
README.md 8.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 11:47 8125362

Проект Carbon

Проект

Данный проект представляет собой перенос и разработку открытого проекта Carbon с целью его адаптации к HarmonyOS.

Версия для переноса: Branches/master.

Это не просто демонстрация API и основных функций, это реализация наиболее полезных пользовательских элементов управления, как показано в руководстве по дизайну. Carbon стремится:

  • сделать вещи проще (например, указать cornerRadius='dp', вместо того чтобы создавать XML и/или ViewOutlineProvider);
  • заставить всё работать и выглядеть одинаково на всех API (например, левое заполнение CheckBox);
  • действительно переносить функции (не использовать градиенты для теней!).

Название проекта: Carbon

Серия: сторонние компоненты HarmonyOS

Функции:

Framework для пользовательских компонентов, который помогает быстро реализовать различные эффекты.

Состояние переноса проекта: большая часть перенесена

Различия в вызовах: в основном отсутствуют, можно обратиться к модульным тестам или исходному API проекта

Адрес исходного проекта на GitHub: https://github.com/ZieIony/Carbon

Поддерживаемые функции

  • Поддержка пользовательского progressBar.
  • Поддержка RoundProgressBar.
  • Поддержка различных эффектов нажатия кнопки.
  • Поддержка SeekBar для прокрутки.
  • Поддержка отображения различных анимаций.
  • Поддержка добавления компонента «Избранное» для быстрого поиска.
  • Поддержка отображения списков (включая аватары, текст и т. д.).
  • Поддержка демонстрации кода компонентов.
  • Поддержка различных диалоговых эффектов.
  • А также другие пользовательские эффекты и компоненты.

Установка

Вариант 1

Можно сначала загрузить проект, извлечь библиотеку carbon из проекта и поместить её в нужный проект через build-конфигурацию:

dependencies {
     implementation project(":carbon")
}

Вариант 2

  1. Добавьте в файл build.gradle в разделе repositories в корневом каталоге проекта:
    buildscript {
       repositories {
           ...
           mavenCentral()
       }
       ...
   }
   
   allprojects {
       repositories {
           ...
           mavenCentral()
       }
   }
  1. В своём проекте добавьте зависимость:
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));

Демонстрация эффекта

Демонстрационные эффекты некоторых компонентов:

  • Главная страница.
  • Страница «Что нового».
  • Страница избранного.
  • Работа страницы линейной диаграммы.
  • Работа тематической страницы.
  • Эффект развёртывания и сворачивания страницы. Эффект работы страницы Profiles
  • Эффект работы страницы Circular_progress
  • Эффект работы страницы Meuns
  • Эффект работы страницы Music_player
  • Эффект работы страницы Settings

Скриншоты:

  • Главный экран (screenshoot/main_page.png)
  • Страница What new в развёрнутом виде (screenshoot/what_new.png)
  • Избранное в развёрнутом виде (screenshoot/favourties.png)
  • Линейная диаграмма (screenshoot/line_chart.png)
  • Тема (screenshoot/theme.png)
  • Фоновый рисунок (screenshoot/backdrop.png)
  • Развёрнутый фоновый рисунок (screenshoot/backdrop_ex.png)
  • Профили (screenshoot/profiles.png)
  • Circular_progress (screenshoot/circular_progress.png)
  • Meuns (screenshoot/meuns.png)
  • Музыкальный проигрыватель (screenshoot/music_player.png)
  • Настройки (screenshoot/settings.png).

License

Copyright 2015 Marcin Korniluk 'Zielony'

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/ts_ohos-Carbon.git
git@api.gitlife.ru:oschina-mirror/ts_ohos-Carbon.git
oschina-mirror
ts_ohos-Carbon
ts_ohos-Carbon
master