О проекте Ohos-Coverflow
Демонстрация эффекта
См. изображения one.gif и two.gif.
Инструкция по установке
// Добавляем maven-репозиторий
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/release/'
}
}
// Добавляем библиотеку зависимостей
dependencies {
implementation 'com.gitee.chinasoft_ohos:coverflow:1.0.1'
}
Использование
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:height="match_parent"
ohos:width="match_parent">
<DependentLayout
ohos:height="250vp"
ohos:background_element="$color:color_black"
ohos:width="match_parent">
<PageSlider
ohos:center_in_parent="true"
ohos:margin="30vp"
ohos:layout_alignment="center"
ohos:height="230vp"
ohos:id="$+id:ViewPageSlider"
ohos:width="match_parent"/>
</DependentLayout>
</DirectionalLayout>
<com.futuremind.recyclerviewfastscroll.FastScroller
ohos:id="$+id:fast"
ohos:height="match_parent"
ohos:width="match_content"
ohos:align_parent_right="true"
app:handleColor="#8f93d1"
app:bubbleColor="#5e64ce"
app:bubbleTextColor="#e0e0e0"
app:bubbleTextSize="24fp"
app:bubbleTextWeight="700"
ohos:orientation="vertical"
/>
ListContainer с вертикальной полосой прокрутки при раскрытии:
listContainer = (ListContainer) findComponentById(ResourceTable.Id_listcontainerview);
fastScroller = (FastScroller)findComponentById(ResourceTable.Id_fast);
fastScroller.setListContainer(listContainer);
Два плавных адаптера страницы, которые синхронизируются в методе onPageChosen:
PagerContainerOne.OnSelectListener onSelectListener1 = new PagerContainerOne.OnSelectListener() {
@Override
public void select(int index) {
pageslider1.setCurrpage(index);
textView.setText(item + index);
pageslider2.setCurrpage(index);
textView2.setText(item + index);
}
};
pageslider1.setPageChangeListener(onSelectListener1);
PagerContainerOne.OnSelectListener onSelectListener2 = new PagerContainerOne.OnSelectListener() {
@Override
public void select(int index) {
pageslider1.setCurrpage(index);
textView.setText(item + index);
pageslider2.setCurrpage(index);
textView2.setText(item + index);
}
};
pageslider2.setPageChangeListener(onSelectListener2);
Определение метода обратного вызова для текущей страницы:
public interface OnSelectListener {
/**
* Обратный вызов текущей страницы
*
* @param index
*/
void select(int index);
}
Внешний метод обратного вызова:
/**
* Установка внешнего метода обратного вызова
*
* @param listener
*/
public void setPageChangeListener(OnSelectListener listener) {
this.mListener = listener;
}
Тестирование
CodeCheck: тестирование кода без ошибок. CloudTest: тестирование кода без ошибок. Проверка на вирусы: успешно. Текущая версия demo отличается от исходного компонента. Невозможно реализовать три изображения на одной странице из-за отсутствия соответствующих функций в Ohos.
Итерация версий
Версия 1.0.1.
Информация о лицензии и авторских правах
The MIT License (MIT).
Авторское право (c) 2015 Hugo yu.
Предоставляется разрешение на бесплатное использование любому лицу, получающему копию этого программного обеспечения и связанных файлов документации («Программное обеспечение»), для работы с Программным обеспечением без ограничений, включая, помимо прочего, права на использование, копирование, изменение, объединение, публикацию, распространение, сублицензирование и продажу копий Программного обеспечения, а также разрешение лицам, которым предоставляется Программное обеспечение, делать это при соблюдении следующих условий:
Вышеупомянутое уведомление об авторском праве и это разрешение должны быть включены во все копии или существенные части Программного обеспечения.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )