PopupListView
Мощный ListView, который позволяет при клике на элемент списка отобразить внутреннее представление!
Способ 1:
Загрузите модуль кода PopupListView в свой проект.
Свяжите использование:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
implementation project(":popuplistview")
...
}
Синхронизируйте Gradle.
Способ 2:
allprojects {
repositories {
mavenCentral()
}
}
...
dependencies {
...
implementation 'com.gitee.archermind-ti:PopupListView:1.0.0-beta'
...
}
Чтобы использовать PopupListView, добавьте следующий код в основной макет XML:
<com.baobomb.popuplistview.PopupListView
ohos:id="$+id:popupListView"
ohos:height="match_parent"
ohos:width="match_parent"/>
Вам нужно создать макет для элемента ListView и использовать его как расширенный вид, который будет отображаться при нажатии на элемент списка.
После настройки PopupListView и создания двух макетов (для элемента списка и внутреннего представления) вы можете настроить и использовать их в коде.
ArrayList<PopupView> popupViews = new ArrayList<>;
//Создание списка всплывающих элементов
for (int i = 0; i < 10; i++) {
p = i;
PopupView popupView = new PopupView(getContext(), ResourceTable.Layout_popup_view_item) {
@Override
public void setViewsElements(Component view) {
Text textView = (Text) view.findComponentById(ResourceTable.Id_title);
textView.setText("Popup View " + String.valueOf(p));
}
@Override
public Component setExtendView(Component view) {
Component extendView;
if (view == null) {
extendView = LayoutScatter.getInstance(getContext()).parse(ResourceTable
.Layout_extend_view, null, false);
Text innerText = (Text) extendView.findComponentById(ResourceTable.Id_innerText);
innerText.setText("Inner View " + String.valueOf(p));
} else {
extendView = view;
}
return extendView;
}
};
popupViews.add(popupView);
}
//После создания всех всплывающих элементов списка, установите их в PopupListView
PopupListView popupListView = (PopupListView) findComponentById(ResourceTable.Id_popupListView);
popupListView.init(null,popupViews);
//Теперь вы можете использовать его!
Если вы просто хотите расширить список при щелчке по элементу, вызовите следующий код:
if(popupListView.isZoomIn()){
popupListView.zoomOut();
}
Если вам нужно уменьшить размер после нажатия кнопки «Назад», добавьте следующий код в вашу Ability:
@Override
public void onBackPressed() {
if (popupListView.isItemZoomIn()) {
popupListView.zoomOut();
} else {
super.onBackPressed();
}
}
Подкласс компонента Ohos ListView, позволяющий расширять элементы при клике.
Автор: Чэнь Вэй-Лун
Лицензия Apache, версия 2.0 (далее — «Лицензия»);
вы не можете использовать этот файл, кроме как в соответствии с Лицензией.
Вы можете получить копию Лицензии по адресу:
http://www.apache.org/licenses/LICENSE-2.0
Если это не требуется применимым законодательством или не согласовано в письменной форме, программное обеспечение, распространяемое по Лицензии, предоставляется на условиях «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых. См. Лицензию для конкретного языка, регулирующего разрешения и ограничения в рамках Лицензии.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )