带有xamarin.form的跨平台传呼器

时间:2019-07-10 02:38:30

标签: xamarin xamarin.forms

在Xamarin.Android中,它具有一个名为ViewPager的类,以支持“手势导航允许用户左右滑动以浏览数据页面”。 (https://docs.microsoft.com/en-us/xamarin/android/user-interface/controls/view-pager/

但是我的任务是为Android和iOS编写跨平台代码(不重写此手势的新代码)。使用Xamarin.Form,任何库都支持吗?我已经阅读过有关Xamarin.Form轮播的信息,但它似乎用于幻灯片放映,不适用于新闻列表。

1 个答案:

答案 0 :(得分:0)

我认为TabbedPage更适合您。 tabbedPage支持手势导航,允许用户左右滑动以浏览数据页面,只需在不同选项卡中设置不同的数据页面即可。

此处正在运行GIF。

enter image description here

您可以像下面的代码一样添加此选项卡式页面。

<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:TabbedPageDemo;assembly=TabbedPageDemo"
        x:Class="TabbedPageDemo.TabbedPageDemoPage">
       <TabbedPage.Resources>
          <ResourceDictionary>
           <local:NonNullToBooleanConverter x:Key="booleanConverter" />
          </ResourceDictionary>
       </TabbedPage.Resources>
        <TabbedPage.ItemTemplate>
          <DataTemplate>
           <ContentPage Title="{Binding Name}" Icon="monkeyicon.png">
             <StackLayout Padding="5, 25">
              <Label Text="{Binding Name}"
              Font="Bold,Large"
              HorizontalOptions="Center" />
              <Image Source="{Binding PhotoUrl}"
                WidthRequest="200" 
                HeightRequest="200" />
      <StackLayout Padding="50, 10">
        <StackLayout Orientation="Horizontal">
          <Label Text="Family:"
                 HorizontalOptions="FillAndExpand" />
          <Label Text="{Binding Family}"
                 Font="Bold,Medium" />
        </StackLayout>
        <StackLayout Orientation="Horizontal"
                     IsVisible="{Binding Subfamily,
                        Converter={StaticResource booleanConverter}}">
          <Label Text="Subfamily:"
                 HorizontalOptions="FillAndExpand" />
          <Label Text="{Binding Subfamily}"
                 Font="Bold,Medium" />
        </StackLayout>
        <StackLayout Orientation="Horizontal"
                     IsVisible="{Binding Tribe,
                        Converter={StaticResource booleanConverter}}">
          <Label Text="Tribe:"
                  HorizontalOptions="FillAndExpand" />
          <Label Text="{Binding Tribe}"
                 Font="Bold,Medium" />
        </StackLayout>
        <StackLayout Orientation="Horizontal">
          <Label Text="Genus:"
                 HorizontalOptions="FillAndExpand" />
          <Label Text="{Binding Genus}"
                 Font="Bold,Medium" />
        </StackLayout>
      </StackLayout>
      </StackLayout>
     </ContentPage>
   </DataTemplate>
  </TabbedPage.ItemTemplate>
</TabbedPage>

您可以在标签页中添加不同的ItemTemplate。 这是一个相关链接。 https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/navigation/tabbed-page

更新:您可以像在GIF中一样在tabb页中添加列表视图。

enter image description here