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

OSCHINA-MIRROR/HarmonyOS-tpc-MultipleStatusView

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 6.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 27.11.2024 00:55 955c6d2

MultipleStatueView

Один из видов пользовательского View, который поддерживает несколько состояний. Можно легко переключиться на:

  • представление загрузки;
  • представление ошибки;
  • пустое представление данных;
  • сетевое аномальное представление;
  • содержательное представление.

Зависимости

allprojects{
    repositories{
        mavenCentral()
    }
}
implementation 'io.openharmony.tpc.thirdlib:MultipleStatusView:1.0.2'

Интеграция

Добавьте har-пакет в папку lib.
В entry Gradle добавьте следующий код:
implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])

Пример

<com.classic.common.MultipleStatusView
    ohos:id="$+id:multiple_status_view"
    ohos:width="match_parent"
    ohos:height="match_parent"
    ohos:loadingView="$layout:custom_loading_view"
    ohos:emptyView="$layout:custom_empty_view"
    ohos:errorView="$layout:custom_error_view"
    ohos:noNetworkView="$layout:custom_no_network_view"
    ohos:contentView="$layout:main_content"/>
MultipleStatusView multipleStatusView = (MultipleStatusView) findViewById(ResourceTable.Id_multiple_status_view);

// Показать представление загрузки
multipleStatusView.showLoading();
// mMultipleStatusView.showLoading("Пользовательское сообщение");
// mMultipleStatusView.showLoading(ResourceTable.String_custom_hint_content, "заполнитель 1", "заполнитель 2", "...");
// multipleStatusView.showLoading(ResourceTable.Layout_xxx, layoutParams);
// multipleStatusView.showLoading(customView, layoutParams);

//Показать пустое представление
Сначала вызовите
multipleStatusView.setEmptyResId(ResourceTable.Id_empty_retry_view), чтобы установить ресурс пустого представления.
Затем вызовите следующий метод:
multipleStatusView.showEmpty();
// mMultipleStatusView.showEmpty("Пользовательское сообщение");
// mMultipleStatusView.showEmpty(ResourceTable.String_custom_hint_content,"заполнитель 1", "заполнитель 2", "...");
// multipleStatusView.showEmpty(ResourceTable.Layout_xxx, layoutParams);
// multipleStatusView.showEmpty(customView, layoutParams);

// Показать представление ошибки
Сначала вызовите 
multipleStatusView.setErrorResId(ResourceTable.Id_error_retry_view) для установки ресурса представления ошибки.
Затем вызовите следующий метод:
multipleStatusView.showError();
// mMultipleStatusView.showError("Пользовательское сообщение");
// mMultipleStatusView.showError(ResourceTable.String_custom_hint_content,"заполнитель 1", "заполнитель 2", "...");
// multipleStatusView.showError(ResourceTable.Layout_xxx, layoutParams);
// multipleStatusView.showError(customView, layoutParams);

// Показать сетевое аномальное представление
Сначала вызовите 
multipleStatusView.setNetWorkResId(ResourceTable.Id_no_network_retry_view) для установки сетевого аномального представления.
Затем вызовите следующий метод:
multipleStatusView.showNoNetwork();
// mMultipleStatusView.showNoNetwork("Пользовательское сообщение");
// mMultipleStatusView.showNoNetwork(ResourceTable.String_custom_hint_content, "заполнитель 1", "заполнитель 2", "...");
// multipleStatusView.showNoNetwork(ResourceTable.Layout_xxx, layoutParams);
// multipleStatusView.showNoNetwork(customView, layoutParams);

// Показать содержательное представление
multipleStatusView.showContent();
// multipleStatusView.showContent(ResourceTable.Layout_xxx, layoutParams);
// multipleStatusView.showContent(customView, layoutParams);

// Установить событие клика для повторной попытки
multipleStatusView.setOnRetryClickListener(onRetryClickListener);

// Установите событие прослушивания изменения состояния представления
mMultipleStatusView.setOnViewStatusChangeListener(OnViewStatusChangeListener);

/**
 * Получить текущее состояние представления
 *      MultipleStatusView.STATUS_LOADING   // Текущее представление — представление загрузки
 *      MultipleStatusView.STATUS_EMPTY     // Текущее представление — пустое представление
 *      MultipleStatusView.STATUS_ERROR     // Текущее представление — представление ошибки
 *      MultipleStatusView.STATUS_NO_NETWORK// Текущее представление — сетевое аномальное представление
 *      MultipleStatusView.STATUS_CONTENT   // Текущее представление — содержательное представление
 */
int viewStatus = multipleStatusView.getViewStatus();

`MultipleStatusView` наследуется от `DependentLayout`, поэтому содержательное представление также можно напрямую записать в `MultipleStatusView`.
```xml
<com.classic.common.MultipleStatusView
    ohos:id="$+id:multiple_status_view"
    ohos:width="match_parent"
    ohos:height="match_parent"
    ohos:emptyView="$layout:custom_empty_view"
    ohos:errorView="$layout:custom_error_view"
    ohos:loadingView="$layout:custom_loading_view"
    ohos:noNetworkView="$layout:custom_no_network_view">

    <Image
        ohos:id="$+id:image"
        ohos:width="60vp"
        ohos:height="60vp"
        ohos:center_in_parent="true"
        ohos:left_margin="24vp"
        ohos:right_margin="16vp"
        ohos:image_src="$media:test"/>

    <Text
        ohos:id="$+id:text1"
        ohos:width="match_content"
        ohos:height="match_content">

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/HarmonyOS-tpc-MultipleStatusView.git
git@api.gitlife.ru:oschina-mirror/HarmonyOS-tpc-MultipleStatusView.git
oschina-mirror
HarmonyOS-tpc-MultipleStatusView
HarmonyOS-tpc-MultipleStatusView
master