Устранить разрыв между формой ListViews Xamarin - PullRequest
0 голосов
/ 18 мая 2018

У меня 3 listViews на одной странице, я получаю разрыв между каждым listview, и я не знаю, почему он получает пробелы.

Вот мой код:

<Grid>
    <ScrollView >
        <StackLayout>
            <ListView HasUnevenRows="True" 
                      SeparatorColor="Red" 
                      ItemsSource="{Binding GetAssignedTask}">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <StackLayout Orientation="Horizontal" 
                                         BackgroundColor="White"  >
                                <Image Source="rsz_pnglogocom.png"  />
                                <StackLayout>
                                    <Label Text="Task 1" 
                                           TextColor="Black" 
                                           FontSize="Medium" />
                                    <StackLayout Orientation="Horizontal">
                                        <Label Margin="0,0,70,0" 
                                               Text="{Binding dtStart,StringFormat='{0:MMMM dd, yyyy}'}"  
                                               TextColor="Red" 
                                               HorizontalOptions="Center"/>
                                        <Label Text="Waqas" 
                                               TextColor="Black" 
                                               HorizontalOptions="End"/>
                                    </StackLayout>
                                </StackLayout>
                            </StackLayout>
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
            <StackLayout>
                <Label Text="test"/>
            </StackLayout>
            <ListView HasUnevenRows="True" 
                      SeparatorColor="Red" 
                      ItemsSource="{Binding GetAssignedTask}">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <StackLayout Orientation="Horizontal" 
                                         BackgroundColor="LightPink"  >
                                <Image Source="rsz_pnglogocom.png"  />
                                <StackLayout>
                                    <Label Text="Task 1" 
                                           TextColor="Black" 
                                           FontSize="Medium" />
                                    <StackLayout Orientation="Horizontal">
                                        <Label Margin="0,0,70,0"
                                               Text="{Binding dtStart,StringFormat='{0:MMMM dd, yyyy}'}"  
                                               TextColor="Red" 
                                               HorizontalOptions="Center"/>
                                        <Label Text="Waqas" 
                                               TextColor="Black" 
                                               HorizontalOptions="End"/>
                                    </StackLayout>
                                </StackLayout>
                            </StackLayout>
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
        </StackLayout>
    </ScrollView>
</Grid>

Мне нужно избавиться от этих пробелов и отображать listview один за другим, вы можете проверить изображение ниже, как показано listviews.

lISTviews gap

Кто-нибудь может подсказать, как убрать эти пробелы?

1 Ответ

0 голосов
/ 18 мая 2018

Разработчики приложений не должны вкладывать один ScrollView в другой.Кроме того, они должны воздерживаться от вложения в них других элементов, которые можно прокручивать, таких как WebView.

Источник: официальный doc .

Вложенные ScrollViews - это просто катастрофане делай этого.Какой элемент управления прокручивается при взаимодействии с пользователем?Это полностью разрушит UX, производительность и т. Д.

Пространство здесь - самая маленькая проблема, как вы понимаете.Вы должны переосмыслить свой интерфейс.Например, вы можете заменить ScrollView одним сгруппированным ListView.В качестве альтернативы замените верхний уровень ScrollView на Grid, в котором 2 ListViews не будут вложены друг в друга.

Возвращаясь к исходному вопросу, в примере с общим XAML есть много ненужных узлов,Я бы порекомендовал сгладить это.Например, вместо нескольких StackLayouts организуйте макет по одному Grid с несколькими строками.Таким образом, это будет более эффективным, и ваша проблема будет решена или, по крайней мере, легче для понимания и решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...