Этот трёхсторонний открытый источник был форкнут с GitHub, основной целью было модифицировать реализацию нижнего уровня вызова интерфейсов на использование интерфейсов HarmonyOS, тем самым адаптировать библиотеку для использования в приложениях HarmonyOS.
Адрес форка: https://github.com/scwang90/MultiWaveHeader
Версия форка/Дата: release / 07 июня 2020 года
MultiWaveHeader — это полностью настраиваемый компонент, который позволяет создавать эффекты волн на основе каждого отдельного волнообразного элемента.
Оригинальный проект Readme доступен здесь: https://github.com/scwang90/MultiWaveHeader/blob/release/README.md
Статус портирования: Поддерживает все базовые функции компонента
Процент завершённости: 100%
Различие в использовании: Отсутствует
Установите .har пакет в папку lib и добавьте следующую строку в build.gradle:
implementation fileTree(dir: 'libs', include: ['*.har'])
Добавьте этот проект как модуль в любой другой проект, добавив следующую строку в build.gradle нужного модуля:
compile project(path: ':library')
или
allprojects {
repositories {
mavenCentral()
}
}
implementation 'io.openharmony.tpc.thirdlib:MultiWaveHeader:1.0.1'
Примечание:
Проект можно запустить непосредственно на SDK версии 6 и DevEco Studio 2.2 Beta1. Если проект не запускается, удалите файлы проекта .gradle, .idea, build, gradle, build.gradle, и создайте новый проект, используя свою версию, затем скопируйте соответствующие файлы нового проекта в корневую директорию.## Метод использования
<com.scwang.wave.MultiWaveHeader
ohos:id="$+id:multiWaveHeader"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:mwhEnableFullScreen="true"
ohos:mwhProgress="0.45"/>
// Инициализация
MultiWaveHeader multiWaveHeader = (MultiWaveHeader) findComponentById(ResourceTable.Id_multiWaveHeader);
multi_wave_header.set_shape()
multi_wave_header.set_waves()
multi_wave_header.set_wave_height()
multi_wave_header.set_progress()
multi_wave_header.set_velocity()
multi_wave_header.set_gradient_angle()
multi_wave_header.set_color_alpha()
multi_wave_header.set_start_color()
multi_wave_header.set_close_color()
multi_wave_header.start()
multi_wave_header.stop()
multi_wave_header.get_shape()
multi_wave_header.get_wave_height()
multi_wave_header.get_progress()
multi_wave_header.get_velocity()
multi_wave_header.get_gradient_angle()
multi_wave_header.get_color_alpha()
multi_wave_header.get_start_color()
multi_wave_header.get_close_color()
multi_wave_header.is_running()
#### Можно точно настроить каждую волну.##### Java
```java
MultiWaveHeader waveHeader = findComponentById(R.id.waveHeader);
String[] waves = new String[]{
"70,25,1.4,1.4,-26", // волна-1: смещение по оси X (dp), смещение по оси Y (dp), масштаб по оси X, масштаб по оси Y, скорость (dp/s)
"100,5,1.4,1.2,15",
"420,0,1.15,1,-10", // волна-3: горизонтальное смещение (dp), вертикальное смещение (dp), горизонтальный масштаб, вертикальный масштаб, скорость (dp/s)
"520,10,1.7,1.5,20",
"220,0,1,1,-15",
};
waveHeader.setWaves(String.join(" ", Arrays.asList(waves))); // пользовательская настройка
waveHeader.setWaves("PairWave"); // значение по умолчанию для двух волн
waveHeader.setWaves("MultiWave"); // значение по умолчанию для пяти волн
<com.scwang.wave.MultiWaveHeader
ohos:id="$+id:waveHeader"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:mwhWaves="PairWave"
ohos:mwhWaves="MultiWave"
ohos:mwhWaves="
70,25,1.4,1.4,-26
100,5,1.4,1.2,15
420,0,1.15,1,-10
520,10,1.7,1.5,20
220,0,1,1,-15"/>
Обратите внимание: значения атрибута mwhWaves
должны быть установлены правильно, в противном случае компонент может не отрендериться корректно
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 )