allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
}
dependencies {
implementation('com.gitee.chinasoft_ohos:Backboard:1.0.0')
implementation('com.facebook.rebound:rebound:0.3.8')
...
}
Проект можно запустить непосредственно в SDK 6 и DevEco Studio 2.2 Beta1.
Если проект не запускается, удалите файлы .gradle, .idea, build, gradle, build.gradle, а затем создайте новый проект в соответствии со своей версией и скопируйте соответствующие файлы нового проекта в корневую директорию.
Фреймворк Backboard управляет пружинами (springs) для верхней области отскока, что упрощает самые распространенные случаи использования:
Действия, такие как MotionEvent, отображаются через имитаторы в пружины.
Пружины отображаются через исполнители в свойства компонента и виджета.
```Кроме того, пакет `Actor` также включает вышеупомянутые объекты и предоставляет простое API для отображения действий касания в перемещении виджета.
- **Исполнители (Performers)**
Исполнитель принимает текущее значение пружины и устанавливает его как значение свойства виджета. Пример использования:
```java
Spring bounce = SpringSystem.create().createSpring();
Performer xMotion = new Performer(view, View.TRANSLATION_X);
bounce.addListener(xMotion);
Для экономии экранного пространства можно использовать следующий подход:
Spring bounce = SpringSystem.create().createSpring().addListener(new Performer(component, View.TRANSLATION_X));
SpringImitator
также является слушателем пружины (SpringListener
). Когда пружина, которую он имитирует, обновляется, он обновляет конечное значение контролируемой пружины. Пример использования:
SpringSystem springSystem = SpringSystem.create();
Spring leader = springSystem.createSpring();
Spring follower = springSystem.createSpring();
SpringImitator follow = new SpringImitator(follower);
leader.addListener(follow);
Этот класс упрощает представление, соединяя каждый компонент с помощью метода:
Actor actor = new Actor.Builder(SpringSystem.create(), component)
.addTranslateMotion(MotionProperty.X)
.addTranslateMotion(MotionProperty.Y)
.build();
Также можно предоставить SpringSystem
, Spring
, MotionImitator
и Performer
, и соединить их:
SpringSystem springSystem = SpringSystem.create();
Spring spring = springSystem.createSpring();
Actor verbose = new Actor.Builder(springSystem, component)
.addMotion(spring, new MotionImitator(spring, MotionProperty.X), new Performer(component, View.TRANSLATION_X))
.build();
```Можно также исключить создание `Performer` и `Spring` в `MotionImitator` (используя значение по умолчанию `SpringConfig`) и соединить их:
```java
Actor walk = new Actor.Builder(SpringSystem.create(), walker)
.addMotion(new MotionImitator(MotionProperty.X), new Performer(View.TRANSLATION_X))
.build();
Представленный выше пример может быть ещё более упрощён до следующего:
Actor run = new Actor.Builder(SpringSystem.create(), runner).addMotion(MotionProperty.X, View.TRANSLATION_X).build();
Actor bolt = new Actor.Builder(SpringSystem.create(), bolter).addTranslateMotion(MotionProperty.X).build();
Код успешно прошёл проверку CodeCheck.
Код успешно прошёл проверку CloudTest.
Прошёл проверку безопасности на наличие вирусов.
Функционал демонстрационной версии практически не отличается от оригинального компонента.
Copyright 2015-2016 Tumblr, Inc.
Лицензировано по лицензии Apache License, Version 2.0 («Лицензия»);
вы можете использовать этот файл только в соответствии с Лицензией.
Вы можете получить копию Лицензии по адресу
http://www.apache.org/licenses/LICENSE-2.0
В случае если это требует действующее законодательство или было согласовано письменно, программное обеспечение,
распространяемое по Лицензии, распространяется на условиях «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ;
явных или подразумеваемых. Смотрите Лицензию за специфическим языком, регулирующим права и
ограничения по Лицензии.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )