Ответ 1
Дополнительное пространство в вашем первом изображении является результатом NavigationPage
по умолчанию, показывающего панель навигации, которая может быть скрыта.
Вот пример, как скрыть его.
У меня возникает странная ошибка, когда я пытаюсь добавить Navigation
в мой CropsListPage
<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-Balloney.Views"
x:Class="Balloney.Views.MainPage">
<NavigationPage Icon="carrot.png">
<x:Arguments>
<local:CropListPage/>
</x:Arguments>
</NavigationPage>
<ContentPage Icon="search.png"></ContentPage>
</TabbedPage>
И затем это приводит к..
Если я не пытаюсь окупить его в NavigationPage
, он останется нормальным
Любая идея, что вызывает это поведение? Прежде чем пытаться вырвать свой путь из этого и жестко кодировать размер строки состояния в Android, я ищу способ понять проблему и предотвратить ее. Благодаря
MainPage.xaml
теперь работает
<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Balloney.Views"
x:Class="Balloney.Views.MainPage">
<local:CropListPage Icon="carrot.png"/>
<ContentPage Icon="search.png"></ContentPage>
</TabbedPage>
И CropList
xaml
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Balloney.Views.CropListPage">
<ListView ItemsSource="{Binding CropsList}" ItemTapped="OnCropTapped">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal">
<Image Source="{Binding ImageUrl}" VerticalOptions="Fill" WidthRequest="50"/>
<StackLayout HorizontalOptions="StartAndExpand">
<Label Text="{Binding Specie.Name}"/>
<Label Text="{Binding HarvestDate}" FontSize="Micro" TextColor="Black"/>
</StackLayout>
<Label Text="{Binding Location}" FontSize="Micro" TextColor="Chocolate" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ContentPage>
РЕДАКТИРОВАТЬ: Ошибка, похоже, связана с ListView
внутри внутри CropListPage
, потому что нет ошибки при переключении на страницу Search icon
.
Дополнительное пространство в вашем первом изображении является результатом NavigationPage
по умолчанию, показывающего панель навигации, которая может быть скрыта.
Вот пример, как скрыть его.
Возможно, это связано с тем, что вы нанесли на страницу навигации страницу списка обрезков, поэтому, когда она выбрана, вы получите надводное барное пространство выше.
Если вы выберете вторую вкладку, исчезнет ли пробел?
Если вы добавляете заголовок на страницу обрезки, оно появляется в большом зеленом пространстве?
<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Chronocrops.Views"
x:Class="Chronocrops.Views.MainPage">
<NavigationPage Icon="carrot.png" Title="Crop List">
<x:Arguments>
<local:CropListPage/>
</x:Arguments>
</NavigationPage>
<ContentPage Icon="search.png"></ContentPage>
</TabbedPage>