Слияние кода завершено, страница обновится автоматически
Один из видов пользовательского 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 )