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

OSCHINA-MIRROR/chinasoft_ohos-loadinglayout

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

layout-загрузка

Проект

  • Название проекта: loadinglayout
  • Серия: адаптация и портирование компонентов openHarmony
  • Функционал: простой и удобный мультистатусный лейаут страницы (content, loading, empty, error)
  • Состояние портирования: основной функционал завершен
  • Различия при вызове: отсутствуют
  • Версия SDK: sdk6, DevEco Studio 2.2 beta1
  • Базовая версия: Release v1.0.1

Демо

Пример экрана

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

Добавьте зависимость в файл build.gradle модуля:

// Добавление Maven репозитория
repositories {
    maven {
        url 'https://s01.oss.sonatype.org/content/repositories/releases/'
    }
}

// Добавление зависимости
dependencies {
    implementation 'com.gitee.chinasoft_ohos:loadinglayout:1.0.0'
}

Проект можно запустить непосредственно в SDK 6 с DevEco Studio 2.2 beta1.

Если проект не запускается, удалите файлы .gradle, .idea, build, gradle, build.gradle, создайте новый проект в соответствии со своей версией и скопируйте соответствующие файлы нового проекта в корневую директорию.

Описание использования

Простой и удобный мультистатусный лейаут страницы (content, loading, empty, error).

  • Пример использования 1: использование в макете, обратите внимание на вызов метода nInactive() для совместимости```xml <ezy.ui.layout.LoadingLayout ohos:id="$+id:loading" ohos:height="match_parent" ohos:width="match_parent" app:llEmptyText="Нет данных" app:llTextSize="16fp" app:llErrorImage="$media:error"> </ezy.ui.layout.LoadingLayout>

```java
    @Override
    public void onInactive() {
        super.onActive();
        // Обеспечение совместимости с ошибкой отображения после второго входа
        if (mLoadingLayout.getmLayouts() == null) {
            return;
        } else {
            mLoadingLayout.getmLayouts().clear();
        }

    }
  • Пример использования 2: обертывание и замена элемента содержимого
@Override
public void onStart(Intent intent) {
    super.onStart(intent);
    super.setUIContent(ResourceTable.Layout_ability_other);
    mLoadingLayout = (LoadingLayout) findComponentById(ResourceTable.Id_loading);
}

// Вызов публичных методов библиотеки для перестроения содержимого страницы vLoading; при специальных требованиях можно скопировать класс LoadingLayout в проект и самостоятельно изменить стили Если mLoadingLayout равен null, то вернуть управление.

Вызвать метод onFinishInflate() для mLoadingLayout. Установить слушатель повторной попытки для mLoadingLayout с использованием нового объекта ToastsUtils.Builder для отображения сообщения "повторная попытка".

Показать содержимое через вызов метода showContent() для mLoadingLayout.

// Отображение layout'ов для content/loading/empty/error
showContent()
showLoading()
showEmpty()
showError()

// Установка layout'ов для loading/empty/error
setLoading(int resId)
setEmpty(int resId)
setError(int resId)

// Установка изображения и текста для layout'а empty
setEmptyImage(int resId)
setEmptyText(String value)

// Установка изображения и текста для layout'а error
setErrorImage(int resId)
setErrorText(String value)
``````markdown
// Установка текста для кнопки retry
setRetryText(String value)

// Установка слушателя событий для кнопки retry
setRetryListener(ClickedListener listener)
  • Атрибуты конфигурации и методы получения значений, используемые в AttrUtil
<!-- ID ресурса layout'а для пустого состояния "llEmptyResId" -->
mEmptyResId = AttrUtil.getResourceId(attrSet, "llEmptyResId", ResourceTable.Layout__loading_layout_empty);
<!-- ID ресурса layout'а для состояния загрузки "llLoadingResId" -->
mLoadingResId = AttrUtil.getResourceId(attrSet, "llLoadingResId", ResourceTable.Layout__loading_layout_loading);
<!-- ID ресурса layout'а для ошибочного состояния "llErrorResId" -->
mErrorResId = AttrUtil.getResourceId(attrSet, "llErrorResId", ResourceTable.Layout__loading_layout_error);

<!-- Изображение для layout'а пустого состояния "llEmptyImage" -->
mEmptyImage = AttrUtil.getMediaId(attrSet, "llEmptyImage", ResourceTable.Media_empty);
<!-- Текст для layout'а пустого состояния "llEmptyText" -->
mEmptyText = AttrUtil.getStringValue(attrSet, "llEmptyText", "Нет данных");

<!-- Изображение для layout'а ошибочного состояния "llErrorImage" -->
mErrorImage = AttrUtil.getMediaId(attrSet, "llErrorImage", ResourceTable.Media_icon);
<!-- Текст для layout'а ошибочного состояния "llErrorText" -->
mErrorText = AttrUtil.getStringValue(attrSet, "llErrorText", "Отсутствует соединение с интернетом, проверьте вашу сеть...");

<!-- Текст кнопки повторной отправки "llRetryText" -->
mRetryText = AttrUtil.getStringValue(attrSet, "llRetryText", "Загрузка не удалась, нажмите чтобы попробовать снова~");

<!-- Цвет текста "llTextColor" -->
mTextColor = AttrUtil.getColorValue(attrSet, "llTextColor", COLOR);

<!-- Размер текста -->
mTextSize = AttrUtil.getDimension(attrSet, "llTextSize", AttrHelper.vp2px(16, getContext()));
```<!-- Цвет текста кнопки "llButtonTextColor" -->
mButtonTextColor = AttrUtil.getColorValue(attrSet, "llButtonTextColor", COLOR);

<!-- Размер текста кнопки "llButtonTextSize" -->
mButtonTextSize = AttrUtil.getDimension(attrSet, "llButtonTextSize", AttrHelper.vp2px(SIXTEEN, getContext()));

<!-- Фон кнопки "llButtonBackground" -->
mButtonBackground = AttrUtil.getElementValue(attrSet, "llButtonBackground", BACKGROUND);

Тестовая информация

Код проверен CodeCheck без ошибок

Код проверен CloudTest без ошибок

Прошёл вирусную безопасность

Функционал текущей версии демо совпадает с основным компонентом

Версионирование

  • 1.0.0

Информация о правах и лицензиях

Copyright 2016 czy1121

Разрешено согласно Лицензии Apache, версия 2.0 ("Лицензия");
вы можете использовать этот файл только в соответствии с Лицензией.
Вы можете получить копию Лицензии по адресу:

   http://www.apache.org/licenses/LICENSE-2.0

Если это требует применимого закона или было достигнуто письменно, программное обеспечение,
распределённое в рамках Лицензии, распространяется на условиях "КАК ЕСТЬ",
БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ В КАЧЕСТВЕ, ЯВНО ВЫДАННЫХ ИЛИ ПОДРАЗУМЕВАЮЩИХСЯ.
Просмотрите Лицензию для получения информации о конкретном языке, регулирующем права и ограничения в рамках Лицензии.

Комментарии ( 0 )

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

Введение

Простой и практичный многостраничный макет страницы. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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