Расширяющийся линейный макет
Метод 1:
allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
}
dependencies {
implementation('com.gitee.chinasoft_ohos:ExpandableLayout:1.0.0')
......
}
Проект можно запустить непосредственно в SDK 6 и DevEco Studio 2.2 Beta1. Если проект не запускается, удалите файлы .gradle, .idea, build, gradle, build.gradle, создайте новый проект в соответствии со своей версией и скопируйте соответствующие файлы нового проекта в корневую директорию.
Шаг 1:
<ScrollView
ohos:id="$+id:scrollview"
ohos:background_element="#ffffff"
ohos:height="match_parent"
ohos:width="match_parent">
<DependentLayout
ohos:orientation="horizontal"
ohos:height="match_content"
ohos:width="match_parent">
<com.hos.expandblelib.ExpandableLayout
ohos:id="$+id:el"
ohos:width="match_parent"
ohos:height="match_parent"/>
</DependentLayout>
</ScrollView>
```Шаг 2: Установка данных
```java
sectionLinearLayout.addSection(getSection());
Шаг 3: Обновление данных и обратные вызовы при раскрытии/закрытии
sectionLinearLayout.setRenderer(new ExpandableLayout.Renderer<FruitCategory, Fruit>() {
@Override
public void renderParent(Component view, FruitCategory model, boolean isExpanded, int parentPosition) {
((Text) view.findComponentById(ResourceTable.Id_tvParent)).setText(model.getName());
Image image = (Image) view.findComponentById(ResourceTable.Id_arrow);
image.setPixelMap(isExpanded ? ResourceTable.Graphic_arrow_down : ResourceTable.Graphic_arrow_up);
}
});
```java
@Override
public void renderChild(Component view, Fruit model, int parentPosition, int childPosition) {
((Text) view.findComponentById(ResourceTable.Id_tvChild)).setText(model.getName());
}
});
sectionLinearLayout.setExpandListener(((ExpandCollapseListener.ExpandListener<FruitCategory>)) (parentIndex, parent, view) -> {
Image image = (Image) view.findComponentById(ResourceTable.Id_arrow);
image.setPixelMap(ResourceTable.Graphic_arrow_down);
});
sectionLinearLayout.setCollapseListener(((ExpandCollapseListener.CollapseListener<FruitCategory>)) (parentIndex, parent, view) -> {
Image image = (Image) view.findComponentById(ResourceTable.Id_arrow);
image.setPixelMap(ResourceTable.Graphic_arrow_up);
});
Проверка кода CodeCheck прошла успешно
Проверка кода CloudTest прошла успешно
Пройден тест на вирусы
Текущий версионный демо-функционал совпадает с базовым компонентом
Copyright 2017 Mert Şimşek.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
``` http://www.apache.org/licenses/LICENSE-2.0
Необходимо отметить, что согласно применимому законодательству или письменно достигнутым соглашениям, программное обеспечение,
распространяемое под лицензией, распространяется на условиях "КАК ЕСТЬ",
БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО ТИПА, как явленных, так и подразумеваемых.
Увидеть Лицензию для конкретного языка, регулирующего права и ограничения, предусмотренные Лицензией.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )