ScrollView не работает, когда находится в макете - PullRequest
0 голосов
/ 30 ноября 2018

Я заметил, что когда ScrollView помещается в другой виджет макета, он перестает отвечать на панорамирование.Я ищу решение, позволяющее ScrollView работать так, как задумано, даже в оболочке.Вот пример приложения в Playground , и здесь я выкладываю его шаблон

Этот пример не прокручивается:

<AbsoluteLayout #wrapTop class="wrapTop" left="0" top="0" width="100%" height="100%">
<ScrollView orientation="horizontal" sdkExampleTitle sdkToggleNavButton>
    <GridLayout class="m-15" columns="auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto">
         <Label width="50" height="50" class="h3 m-15" col="0" text="Title 1"></Label>
         <Label width="50" height="50" class="h3 m-15" col="1" text="Title 2"></Label>
         <Label width="50" height="50" class="h3 m-15" col="2" text="Title 3"></Label>
         <Label width="50" height="50" class="h3 m-15" col="3" text="Title 4"></Label>
         <Label width="50" height="50" class="h3 m-15" col="4" text="Title 5"></Label>
         <Label width="50" height="50" class="h3 m-15" col="5" text="Title 6"></Label>
         <Label width="50" height="50" class="h3 m-15" col="6" text="Title 7"></Label>
         <Label width="50" height="50" class="h3 m-15" col="7" text="Title 8"></Label>
         <Label width="50" height="50" class="h3 m-15" col="8" text="Title 9"></Label>
         <Label width="50" height="50" class="h3 m-15" col="9" text="Title 10"></Label>
         <Label width="50" height="50" class="h3 m-15" col="10" text="Title 10"></Label>
         <Label width="50" height="50" class="h3 m-15" col="11" text="Title 11"></Label>
         <Label width="50" height="50" class="h3 m-15" col="12" text="Title 12"></Label>
         <Label width="50" height="50" class="h3 m-15" col="13" text="Title 13"></Label>
         <Label width="50" height="50" class="h3 m-15" col="14" text="Title 14"></Label>
         <Label width="50" height="50" class="h3 m-15" col="15" text="Title 15"></Label>
    </GridLayout>
</ScrollView>
</AbsoluteLayout>

1 Ответ

0 голосов
/ 30 ноября 2018

Я не думаю, что вам нужен AbsoluteLayout здесь, по крайней мере, когда вы не собираетесь размещать свой дочерний компонент в абсолютном положении.

Также вам не понадобится GridLayout, когда вы хотите просто складывать элементы в горизонтальной ориентации, вместо этого вы можете использовать StackLayout с горизонтальной ориентацией.

Я обновил вашу Игровую площадку пример.

Подробнее о макетах читайте на https://www.nslayouts.com/

Обновление:

Спасибо @DrAchernar, который поднял правильную точку.Вам следует рассмотреть возможность использования ListView / RadListView, если вы планируете визуализировать n элементов, которые будут выглядеть одинаково.RadListView поддерживает различные макеты и горизонтальную ориентацию, которые должны соответствовать вашим требованиям.

...