allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
}
dependencies {
implementation('com.gitee.chinasoft_ohos:MultipleStatueView:1.0.0')
}
Проект можно запустить непосредственно с SDK6 и DevEco Studio 2.2 Beta1. Если это невозможно, удалите файлы .gradle, .idea, build, gradle, build.gradle проекта, а затем создайте новый проект в соответствии со своей версией и скопируйте соответствующие файлы нового проекта в корневую директорию.
<com.example.multiple_status_view
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"/>
``````java
MultipleStatusView multipleStatusView = (MultipleStatusView) findViewById(ResourceTable.Id_multiple_status_view);
// Отображение вида загрузки
multipleStatusView.showLoading();
// multipleStatusView.showLoading("Собственные сообщения");
// multipleStatusView.showLoading(ResourceTable.String_custom_hint_content, "Заместители1", "Заместители2", "...");
// multipleStatusView.showLoading(ResourceTable.Layout_xxx, layoutParams);
// multipleStatusView.showLoading(customView, layoutParams); // Отображение пустого вида
multipleStatusView.showEmpty(ResourceTable.Id_empty_retry_view);
// multipleStatusView.showEmpty("Пользовательский текст", ResourceTable.Id_empty_retry_view);
// multipleStatusView.showEmpty(ResourceTable.String_custom_hint_content, ResourceTable.Id_empty_retry_view, "Значок 1", "Значок 2", "...");
// multipleStatusView.showEmpty(ResourceTable.Layout_xxx, layoutParams, ResourceTable.Id_empty_retry_view);
// multipleStatusView.showEmpty(customView, layoutParams, ResourceTable.Id_empty_retry_view); // Отображение ошибочного вида
multipleStatusView.showError(ResourceTable.Id_error_retry_view);
// multipleStatusView.showError("Пользовательский текст", ResourceTable.Id_error_retry_view);
// multipleStatusView.showError(ResourceTable.String_custom_hint_content, ResourceTable.Id_error_retry_view, "Заполнитель 1", "Заполнитель 2", "...");
// multipleStatusView.showError(ResourceTable.Layout_xxx, layoutParams, ResourceTable.Id_error_retry_view);
// multipleStatusView.showError(customView, layoutParams, ResourceTable.Id_error_retry_view);
// Отображение вида без сети
multipleStatusView.showNoNetwork(ResourceTable.Id_no_network_retry_view);
// multipleStatusView.showNoNetwork("Пользовательский текст");
// multipleStatusView.showNoNetwork(ResourceTable.String_custom_hint_content, ResourceTable.Id_no_network_retry_view, "Заполнитель 1", "Заполнитель 2", "...");
// multipleStatusView.showNoNetwork(ResourceTable.Layout_xxx, layoutParams, ResourceTable.Id_no_network_retry_view);
// multipleStatusView.showNoNetwork(customView, layoutParams, ResourceTable.Id_no_network_retry_view);
``````markdown
// Отображение содержимого
multipleStatusView.showContent();
// multipleStatusView.showContent(ResourceTable.Layout_xxx, layoutParams);
// multipleStatusView.showContent(customView, layoutParams);
// Установка слушателя кликов при повторной попытке
multipleStatusView.setOnRetryClickListener(onRetryClickListener);
// Установка слушателя изменения состояния виджета
mMultipleStatusView.setOnViewStatusChangeListener(OnViewStatusChangeListener);
/**
* Получение текущего состояния view
* MultipleStatusView.STATUS_LOADING // Текущее состояние — загрузка
* MultipleStatusView.STATUS_EMPTY // Текущее состояние — пустое
* MultipleStatusView.STATUS_ERROR // Текущее состояние — ошибка
* MultipleStatusView.STATUS_NO_NETWORK // Текущее состояние — нет сети
* MultipleStatusView.STATUS_CONTENT // Текущее состояние — содержимое
*/
int viewStatus = multipleStatusView.getViewStatus();
```xml
<com.example.multiple_status_view
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">
</com.example.multiple_status_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"
ohos:align_top="@id/image"
ohos:right_of="@id/image"
ohos:text="Содержание представления 111111"/>
<Text
ohos:width="match_content"
ohos:height="match_content"
ohos:align_bottom="@id/image"
ohos:right_of="@id/image"
ohos:text="Содержание представления 222222"/>
```</com.example.multiple_status_view>
Для корректной работы необходимо установить правильный
view id
для корневого узла каждого вида следующими правилами, иначе могут возникнуть проблемы с наложением видов.
ohos:emptyView="$layout:..."
ohos:errorView="$layout:..."
ohos:loadingView="$layout:..."
ohos:noNetworkView="$layout:..."
необходимо установить:
loading_view
.empty_view
.error_view
.no_network_view
.status_hint_content
.view
, чтобы выполнить повторную попытку, необходимо установить:empty_retry_view
.error_retry_view
.no_network_retry_view
.new
, необходимо установить id
:TextView tv = new TextView(getApplicationContext());
tv.setId(Utils.generateViewId());
tv.setText(text);
Код проверен CodeCheck и CloudTest без ошибок.Проверка безопасности отсутствия вирусов прошла успешно.
Функциональность текущей версии примера практически не отличается от базовой компоненты.
1.0.0
Copyright 2015 classic
Разрешено бесплатно предоставлять любому лицу, получившему копию этого программного обеспечения и связанных с ним документов («Программа»), работать с Программой без ограничений, включая без ограничений права использовать, копировать, модифицировать, объединять, публиковать, распространять, передавать по лицензии и/или продавать копии Программы, а также позволять лицам, которым Программа была предоставлена, делать то же самое, при условии соблюдения следующих условий:
Приведенное выше уведомление об авторском праве и это уведомление о разрешении должны включаться во все копии или значительные части программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ НО НЕ ОГРАНИЧИВАЯСЯ ГАРАНТИЯМИ ТОРГОВЛЕНИПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОРГОВЛЕНИЯ, ПРИГОДНОСТИ ДЛЯ КОНКРЕТНЫХ ЦЕЛЕЙ И НЕНАРУШЕНИЯ ПРАВ. В НИКАКОМ СЛУЧАЕ АВТОРЫ И УЧАСТНИКИ АВТОРСКИХ ПРАВ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЖАЛОБЫ, УЩЕРБ ИЛИ ЛЮБУЮ ДРУГУЮ ОТВЕТСТВЕННОСТЬ, В ТОМ ЧИСЛЕ В ДЕЙСТВИЯХ КОНТРАКТА, ДЕЛИКТА ИЛИ ИНЫХ ДЕЙСТВИЯХ, ВОЗНИКАЮЩИХ ИЗ, В СВЯЗИ С ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ЛЮБЫМИ ДРУГИМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )