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

OSCHINA-MIRROR/chinasoft4_ohos-TimeLine

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Проект TimeLine

Проект: TimeLine.
Серия: openharmony, компонент для адаптации сторонних компонентов.
Функциональность: обеспечивает возможность горизонтального перелистывания с эффектом отката и настраиваемыми параметрами расстояния перелистывания и включения перелистывания.
Состояние проекта: основная функциональность реализована.
Отличия при вызове: не поддерживает обновление выпадающего списка при нажатии на listview и RECYCLEWIEW и связность при клике по списку.
Версия разработки: sdk6, DevEco Studio 2.2 Beta1.
Базовая версия: Release 3.0.

Демонстрация эффекта: изображение imag/timeline.gif.

Инструкция по установке:

  1. В файле build.gradle в корневом каталоге проекта:
allprojects {
    repositories {
        maven {
            url 'https://s01.oss.sonatype.org/content/repositories/releases/'
        }
    }
}
  1. В файле build.gradle модуля entry:
dependencies {
    implementation('com.gitee.chinasoft_ohos:TimeLine:1.0.0')
    ......
 }

В версии sdk6 и DevEco Studio 2.2 Beta1 проект можно запустить напрямую. Если запуск не удаётся, удалите файлы проекта .gradle, .idea, build, gradle, build.gradle и создайте новый проект на основе вашей версии. Скопируйте соответствующие файлы нового проекта в корневой каталог.

Использование:

  1. Определите в XML следующее:
<com.ditclear.swipelayout.SwipeDragLayout
        ohos:id="$+id:swipe"
        ohos:height="match_content"
        ohos:width="match_parent"
        ohos:background_element="#FF6347"
        ohos:orientation="horizontal"
        app:swipe_direction="left"
        app:swipe_enable="true"
        app:spring_back="true">

        <DirectionalLayout
            ohos:height="50vp"
            ohos:width="match_parent"
            ohos:alignment="vertical_center"
            ohos:background_element="#ffffff"
            ohos:orientation="horizontal">

            <Image
                ohos:id="$+id:iv_type"
                ohos:height="40vp"
                ohos:width="40vp"
                ohos:background_element="$graphic:edit_back"
                ohos:image_src="$media:edit"
                ohos:left_margin="16vp"/>

            <Text
                ohos:id="$+id:tv_title"
                ohos:height="match_parent"
                ohos:width="match_parent"
                ohos:right_margin="16vp"
                ohos:text="点击下方按钮修改参数"
                ohos:text_alignment="vertical_center|right"
                ohos:text_color="#000000"
                ohos:text_size="15fp"/>
        </DirectionalLayout>

        <DirectionalLayout
            ohos:id="$+id:mRoot"
            ohos:height="50vp"
            ohos:width="match_content"
            ohos:orientation="horizontal">

            <Image
                ohos:id="$+id:dele"
                ohos:height="60vp"
                ohos:width="70vp"
                ohos:background_element="#FF6347"
                ohos:image_src="$media:trash"
                ohos:layout_alignment="center"/>

            <Image
                ohos:id="$+id:start"
                ohos:height="60vp"
                ohos:width="70vp"
                ohos:background_element="#4cd964"
                ohos:clip_alignment="center"
                ohos:image_src="$media:star"
                ohos:layout_alignment="center"/>
        </DirectionalLayout>
    </com.ditclear.swipelayout.SwipeDragLayout>
  1. Динамическая настройка API:
  • setOhos(boolean) — включение или отключение отката;
  • setSwipeDirection("") — направление перелистывания (left || right);
  • setSwipeEnable(boolean) — разрешение перелистывания;
  • setNeedOffset(int) — расстояние перелистывания.

(1) Только для перелистывания ListContaineriter:

    /**
     * Открытие
     *
     * @param swipeDragLayout this
     */
    void openSwipe(SwipeDragLayout swipeDragLayout);

    /**
     * Клик
     *
     * @param swipeDragLayout this
     */
    void clickSwipe(SwipeDragLayout swipeDragLayout);}

(2) Для других анимаций:

    /**
     * Перемещение, можно настроить другие анимации в зависимости от offset
     *
     * @param layout this
     * @param offsetRatio соотношение смещения относительно ширины меню
     * @param смещение смещение в px
     */
    void onUpdate(SwipeDragLayout layout, double offsetRatio, float offset);

    /**
     * Завершение раскрытия
     *
     * @param макет this
     */
    void onOpened(SwipeDragLayout layout);

    /**
     * Закрытие завершено
     *
     * @param макет this
     */}
  1. Атрибуты XML API: | AttrSet | type | default | meaning | | ------- | :---: | -------: | :-------: | | need_offset | int | | расстояние перелистывания | | 2 | 滑动比例:1-9 | | spring_back | boolean | true | 拖动越界回弹效果 | | swipe_enable | boolean | true | 开启滑动 | | swipe_direction | string | left | 滑动方向,默认left,右滑:right |

测试信息

CodeCheck代码测试无异常

CloudTest代码测试无异常

病毒安全检测通过

当前版本demo功能与原组件基本无差异

版本迭代

  • 1.0.0

版权和许可信息

Copyright 2018 ditclear
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 )

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

Введение

Предоставлена функция скольжения вправо и влево, а также поддерживается эффект отката и настраиваемые параметры: расстояние скольжения и его активация. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/chinasoft4_ohos-TimeLine.git
git@api.gitlife.ru:oschina-mirror/chinasoft4_ohos-TimeLine.git
oschina-mirror
chinasoft4_ohos-TimeLine
chinasoft4_ohos-TimeLine
master