build.gradle
в корневой директории проекта,allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
}
build.gradle
модуля entry,dependencies {
implementation('com.gitee.chinasoft_ohos:infinite-cards:1.0.6')
......
}
Проект можно запустить непосредственно на SDK6, DevEco Studio2.2 Beta1.
Если проект не запускается, удалите файлы .gradle
, .idea
, build
, gradle
, build.gradle
,
и создайте новый проект в соответствии со своей версией, затем скопируйте соответствующие файлы нового проекта в корневую директорию.## Инструкция по использованию
Параметры
<com.bakerj.infinitecards.InfiniteCardView
ohos:id="$+id:view"
ohos:height="match_parent"
ohos:width="match_parent"
app:mCardRatio="1"
app:animDuration="1000"/>
Настройка адаптера
Прямое наследование от BaseItemProvider
class MyAdapter extends BaseItemProvider {
...
}
mAdapter = new MyAdapter(resId);
mCardView.setAdapter(mAdapter);
Анимационные переходы и интерполяторы
По умолчанию (можно не указывать, либо установить какое-либо значение по умолчанию)
mCardView.setAnimInterpolator(new LinearInterpolator());
mCardView.setTransformerToFront(new DefaultTransformerToFront());
mCardView.setTransformerToBack(new DefaultTransformerToBack());
mCardView.setZIndexTransformerToBack(new DefaultZIndexTransformerCommon());
Пользовательская настройка
Установка аниматора и интерполятора позволяет создать пользовательскую анимацию в зависимости от параметров обратного вызова
mCardView.setTransformerToBack(new AnimationTransformer() {
@Override
public void transformAnimation(Component view, float fraction, int cardWidth, int cardHeight, int fromPosition, int toPosition) {
int positionCount = fromPosition - toPosition;
float scale = (0.8f - 0.1f * fromPosition) + (0.1f * fraction * positionCount);
view.setScaleX(scale);
view.setScaleY(scale);
if (fraction < 0.5) {
view.setTranslationX(cardWidth * fraction * 1.5f);
view.setRotation(-45 * fraction);
} else {
view.setTranslationX(cardWidth * 1.5f * (1f - fraction));
view.setRotation(-45 * (1 - fraction));
}
}
});
Код проверен CodeCheck без ошибок
Код проверен CloudTest без ошибок
Прошел вирусную безопасность
Функционал текущей версии демо совпадает с оригинальным компонентом#### Версионирование
InfiniteCards распространяется под лицензией Apache 2.0.
Copyright 2017 BakerJ.
Licensed under the Apache License, Version 2.0 (the "Лицензия");
you may not use this file except in compliance with the Лицензия.
You may obtain a copy of the Лицензия at following link.
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the Лицензия is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the Лицензия for the specific language governing permissions and
limitations under the License.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )