Code pull completed, the page will refresh automatically
Один из видов пользовательского 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">
You can comment after Login
Inappropriate content may be displayed here and will not be shown on the page. You can check and modify it through the relevant editing function
If you confirm that the content does not involve inappropriate language/advertisement redirection/violence/vulgar pornography/infringement/piracy/false/insignificant or illegal content related to national laws and regulations, you can click submit to make an appeal, and we will handle it as soon as possible.
Comments ( 0 )