Пример Swipe Swing
Пример Swipe с двух сторон
Пример Drag Right Side Swipe
Пример Two-steps Right Swipe
build.gradle
в корневой директории проекта,allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
}
build.gradle
модуля entry,dependencies {
implementation('com.gitee.chinasoft_ohos:swipemaker:1.0.0')
......
}
Проект может быть запущен непосредственно на SDK 6, DevEco Studio 2.2 Beta1.
Если проект не запускается, удалите файлы .gradle
, .idea
, build
, gradle
, build.gradle
,
и создайте новый проект в соответствии со своей версией, а затем скопируйте соответствующие файлы нового проекта в корневую директорию.## Инструкция по использованию
Давайте вместе реализуем правый свайп
AbsCoordinatorLayout
и создайте свой Provider
, в данном примере его называют halfrightcordinatorlayout
.public class HalfRightCoordinatorLayout extends AbsCoordinatorLayout {
Добавьте метод init()
и вызывайте его в своём Provider
. Установите закрепление для слайдового компонента. Ориентационная точка находится между границами слайдовых карточек. Мы хотим, чтобы слайд происходил внутри границ кнопки mBackgroundView
.
public void init() {
mForegroundView = (SwipeLayout) findComponentById(ResourceTable.Id_foregroundView);
mBackgroundView = findComponentById(ResourceTable.Id_backgroundView);
mForegroundView.setOnTranslateChangeListener(this);
sync(mForegroundView);
this.addDrawTask(new DrawTask() {
@Override
public void onDraw(Component component, Canvas canvas) {
mForegroundView.anchor(mBackgroundView.getRight(), mBackgroundView.getLeft());
}
});
}
SwipeLayout
должно быть $+id:foregroundView
, а идентификатор backgroundView
должен быть $+id:backgroundView
.<?xml version="1.0" encoding="utf-8"?>
<apps.xenione.com.swipelayout.example.swipe.HalfRightCoordinatorLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:width="match_parent"
ohos:height="250vp">
<DirectionalLayout
ohos:id="$+id:backgroundView"
ohos:height="match_parent"
ohos:width="match_content"
ohos:background_element="#FF4081"
ohos:alignment="center">
<Image
ohos:width="match_content"
ohos:height="match_content"
ohos:padding="13vp"
ohos:image_src="$graphic:ic_delete" />
</DirectionalLayout>
HalfRightCoordinatorLayout
, который наследует от AbsCoordinatorLayout
. В этом классе есть обратный вызов с названием onTranslateChange(...)
.Также учтите, что в классе HalfRightCoordinatorLayout
используется метод sync()
, который обеспечивает синхронизацию состояния компонентов.```java
@Override
public void onTranslateChange(float global, int index, float relative) {
}
Вы можете использовать этот метод для отслеживания прогресса при свайпах.
```Параметры описаны ниже:
global: предоставляет нам процент (1%: 0-1); 0 указывает на левую границу, а 1 — на правую границу.
index и relative: если у нас есть более одной части и мы предоставляем более двух закрепленных значений (например, двукратное перемещение), это может произойти.
index: является индексом сечения (если у нас есть три закрепленных значения, у нас будет два сечения: одно от первого до второго закрепленного значения, другое от второго до третьего).
relative: предоставляет процент в рамках указанного сечения (1%: 0-1).
В нашем случае у нас одна часть, поэтому нам не нужно беспокоиться об этом. Давайте добавим хороший эффект перехода:
```java
@Override
public void onTranslateChange(float global, int index, float relative) {
mBackgroundView.setAlpha(global);
}
Код проверен CodeCheck без ошибок
Код проверен CloudTest без ошибок
Прошел проверку безопасности на наличие вирусов
Функционал текущей версии демо-приложения практически не отличается от оригинальной компоненты
Лицензировано по лицензии Apache License, Version 2.0 («лицензия»);
вы можете использовать этот файл только в соответствии с лицензией.
Вы можете получить копию лицензии по адресу
http://www.apache.org/licenses/LICENSE-2.0
В случае, если требование применимо к закону или соглашению письменно,
программное обеспечение, распространяемое по лицензии, распространяется на условиях «КАК ЕСТЬ»;
БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ, как явных, так и подразумеваемых.
См. лицензию для конкретного языка, регулирующего права и ограничения по лицензии.
Все права защищены.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )