Я пытаюсь создать в Nativescript (тестирование на Android) представление, содержащее кольцевую диаграмму и список, похожий на аккордеон под ней, и включить бесконечную прокрутку, чтобы при прокрутке вниз диаграмма прокручивалась вверх из представления, оставляя весь экран доступным для списка.
Проблема в том, что независимо от того, что я пробую, список-аккордеон будет либо прокручиваться за пределы представления, оставляя диаграмму поверх нее, в основном выглядя так, как будто она прячется за диаграммой, либо элементы не будут отображаться правильно / вообще.
Вот как делается мой макет до сих пор
Индексный экран
<ScrollView heiht="100%>
<StackLayout>
<DonutChart [chartDataIterable]="chartData"></DonutChart>
<Accordion [items]="items"></Accordion>
</StackLayout>
</ScrollView>
Компонент кольцевой диаграммы
<GridLayout rows="auto">
<RadPieChart row="0" height="300" allowAnimation="true" (pointSelected)="changeDisplayValue($event)" (pointDeselected)="resetToTotal($event)">
<DonutSeries tkPieSeries seriesName="dataSeries" selectionMode="DataPoint" outerRadiusFactor="0.9" expandRadius="0.4"
outerRadiusFactor="0.7" innerRadiusFactor="0.7" [items]="chartDataObservable" valueProperty="value" legendLabel="type"></DonutSeries>
</RadPieChart>
<StackLayout row="0" horizontalAlignment="center" verticalAlignment="center">
<Label horizontalAlignment="center" [text]="currentType"></Label>
<Label horizontalAlignment="center" [text]="currentTypeAmount"></Label>
</StackLayout>
</GridLayout>
Аккордеонный компонент
<ListView [items]="items" height="100%">
<ng-template let-item="item">
<AccordionCell [item]="item"></AccordionCell>
</ng-template>
</ListView>
GridLayout, обертывающий диаграмму, используется для добавления некоторой информации в центр пончика, а высота аккордеона установлена на 100%, чтобы представление списка не принимало высоту отдельной ячейки.
Я подозреваю, что проблема связана с тем, что ListView по умолчанию интегрирует ScrollView, тем самым отдавая приоритет прокрутке в ListView и никогда не запуская прокрутку внешнего ScrollView, поскольку содержимое никогда не превышает размер экрана.