xamarin.form Tabbed选项卡式页

<?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:App1;assembly=App1"
            xmlns:controls="clr-namespace:App1.controls"
             xmlns:custom="clr-namespace:ImageCircle.Forms.Plugin.Abstractions;assembly=ImageCircle.Forms.Plugin.Abstractions"
             x:Class="App1.MainPage">
    <controls:Page1></controls:Page1>
    <controls:Page2></controls:Page2>
    <controls:Page3></controls:Page3>
</TabbedPage>

  在项目中新建一个TabbedPage或者选项卡式页,进入后,加入多个选项卡的Page,注意只能加入Page页面不能至加入控件

如果你要把MainPage修改为Tabbed类型的页面

要把这2个地方改为TabbedPage和TabbedPage的继承,然后你这个页面就变成了TabbedPage页面了

新建3个Page页面,在页面内部设置自己的icon和title,然后在Tabbed页面中加入对应的命名空间后,加入如下代码

<controls:Page1 Title="1" Icon="abc.jpb"></controls:Page1>
    <controls:Page2 Title="2" Icon="abc.jpb"></controls:Page2>
    <controls:Page3 Title="3" Icon="abc.jpb"></controls:Page3>

  

加入完成后就可以运行了,Tabbed控件对于每个平台的实现都是不同的,例如在Android端面板是在上面,在ios端在下面,这个如果要真正使用,需要自己实现

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

鉴于xamarin.form的tabbed跨平台样式不一,所以要自定义一个自己的tabbed,我这里定义了一个乞丐版的tabbed,如果项目使用可以参考修改

<ContentPage.Content>
        <Grid RowSpacing="0" ColumnSpacing="0">
            <Grid.RowDefinitions>
                <RowDefinition Height="*"></RowDefinition>
                <RowDefinition Height="1"></RowDefinition>
                <RowDefinition Height="Auto"></RowDefinition>
            </Grid.RowDefinitions>
            <ContentView>
            </ContentView>
            <BoxView Grid.Row="1" BackgroundColor="Red"></BoxView>
            <Grid Grid.Row="2" RowSpacing="0" ColumnSpacing="0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"></ColumnDefinition>
                    <ColumnDefinition Width="*"></ColumnDefinition>
                    <ColumnDefinition Width="*"></ColumnDefinition>
                </Grid.ColumnDefinitions>
                <StackLayout Spacing="0">
                    <Image Source="{local:ImageResource App1.bd_logo1.png}"></Image>
                    <Label Text="1111" HorizontalOptions="Center"></Label>
                    <StackLayout.GestureRecognizers>
                        <TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped"></TapGestureRecognizer>
                    </StackLayout.GestureRecognizers>
                </StackLayout>
                <StackLayout Grid.Column="1" Spacing="0">
                    <Image Source="{local:ImageResource App1.bd_logo1.png}"></Image>
                    <Label Text="1111" HorizontalOptions="Center"></Label>
                    <StackLayout.GestureRecognizers>
                        <TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped"></TapGestureRecognizer>
                    </StackLayout.GestureRecognizers>
                </StackLayout>
                <StackLayout Grid.Column="2" Spacing="0">
                    <Image Source="{local:ImageResource App1.bd_logo1.png}"></Image>
                    <Label Text="1111" HorizontalOptions="Center"></Label>
                    <StackLayout.GestureRecognizers>
                        <TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped"></TapGestureRecognizer>
                    </StackLayout.GestureRecognizers>
                </StackLayout>
            </Grid>
        </Grid>
    </ContentPage.Content>

  其中重点是添加点击事件,设备一共有3种手势操作,点,捏,拖,这里只用到了点,以下代码是绑定StackLayout的点事件

<StackLayout.GestureRecognizers>
                        <TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped"></TapGestureRecognizer>
                    </StackLayout.GestureRecognizers>

  

原文地址:https://www.cnblogs.com/jiecaoge/p/10034491.html

时间: 2024-10-09 18:23:21

xamarin.form Tabbed选项卡式页的相关文章

Eclipse选项卡式的属性视图(The Eclipse Tabbed Properties View)

Eclipse工作台提供了一个性能视图用于查看(和/或编辑)选定项目的属性.在本文中,您将学习如何使用选项卡式的属性视图创建一个性能增强的用户界面视图. 1.引言 Eclipse工作台提供了一个属性视图,即在文章中详细描述你的性能控制.默认的用户界面是属性和值对表,并且值使用一个标准的对话框单元格编辑器. 工作台使用扩展(extensions)为属性视图定义了一个自定义的用户界面.利用这个扩展,Properties视图已创建. 属性视图允许您创建任何用户界面的属性.此外,您可以为元素创建用户接口

Xamarin.Form 项目总结

离上一篇 用Xamarin.Form做个技术预览版的APP  有一个月零几天了. 现在这个APP在业务方面的代码由另外一个同事全权处理, 我又闲了下来, 要去弄另外一个项目. 这个把月, 踩过 Xamarin.Form 很多坑, 填过很多坑, 也造了很坑... 这里做个总结, 给想跳坑的你做个参考. ListView 的下拉刷新 下拉刷新还是很简单的, 首先要设置 listView.IsPullToRefreshEnabled 为 true 当下刷新时, RefreshCommand 会被调用,

FlipView For Xamarin.Form 之 IOS

之前写过两篇博文 是关于 Android 和 Windows Phone 下的 FlipView 的实现. 上上周,有个印度佬通过 GitHub 找到我, 问我有没有打算个 ios 端的,还说比较了相同功能的几个开源项目,我的这个项目值得推荐.说的我心潮澎湃,上周末花了一个周末升级到最新的 XCode 7,顺便也升级到了 OS X EI Capitan, 安装了最新的 Xamarin, 使用了 IOS 9 提供的免费证书,终于于今天凌晨1点(10月25)把 ios 端的 renderer 给写出

Xamarin.Form 下拉刷新动画

好像园子里对 Xamarin 感兴趣的人很少啊... 来, 先给各位爷们逗个笑, 本山大爷本色出演: 照例, 上源码: https://github.com/gruan01/ListViewExtend 目前只有 WP 的效果, Android 还在研究, IOS 的还没计划. ------------------------------------------------------ Xamarin.Form 的 ListView 只支持下拉刷新 (这里有用法), 上拉 加载更多 没有对应的事

Xamarin.Form 实例: Discuz BBS 客户端 源码分享

感谢台风, 这个十一长假让我好好的休息了一回, 睡觉到腰酸背疼, 看电影看到眼发红. 今天最后一天, 不敢出去逛, 不知道哪会还会下暴雨... 嗯嗯..这个项目其实在十一之前就开始了, 工作无聊,没有新任务, 我就搞起它. 至于为什么选 Discuz 的 BBS , 因为我常上的几个网站, 都有一堆的 APP , 官方的, 第三方的 . BBS 虽然已经没落了, 但是官方的 APP 居然用不了! 写这个东西之前, 本来想拿来看 1024 的, 但是 1024 要么不是最新版本, 要么禁用了 AP

挣扎着写 FlipView For Xamarin.Form

Xamarin.Form 中没有 FlipView, 也没有 CarouselView , 有的只是一个 CarouselPage, 它是一个 Page, 不是一个 View ! Windows Phone 8.1 下有个控件叫 FlipView, 但是它不存于在 WP Siliverlight ! 而Xamarin.Form 的 WP 项目又是基于 WP Siliverlight 的. Android 原生也没有 FlipView 类似的控件. IOS 下冒似也没有. 我急切的想弄一个这样的东

Xamarin.Form 初学 之 服务引用-WCF服务引用

最近研究一下Xamarin.Form,感觉这个东西确实不错,之前一直做WPF相关,然后看到Xamarin.Form开发与WPF特别相似的语法.很有兴趣! 可是环境部署对于小白的我,可是费了不少功夫!安装VS2015费了我好些时间!安装部署以后再说!先说说引用WCF服务的坑吧! 官方文档:Xamarin可以调用WCF,可以怎么调用???(满脑子问号)https://developer.xamarin.com/guides/xamarin-forms/web-services/consuming/w

在 Xamarin.Form 使用 ProtoBuf, 提升APP的体验档次

XML被JSON代替的时候,是因为JSON的更小的文件体积.现在移步到手机,json 数据包也愈发显的不可接受了.满眼的都是 json 的属性名,真正有用的属性值却只占整个JSON包的一小部份.如果能不要"属性名称",那可太好了,但是那是不可能的. 老早就听说过 ProtoBuf ,一直没有用过.这两天耗了些时间研究了一下,成功的应用于服务端(WebApi) 和 客户端(Xamarin.Form) 上.先贴两张图感受一下: 能小多少,和具体的类结构及数据完整性有关. 不过单从这份结果对

C# 移动开发(Xamarin.Form) Plugin.BLE 蓝牙连接

随着Xamarin.Form项目接近尾声,仔细一算才发现过来大半年时间了. 期间除了刚开始有闲情写写,期间各种开发坑,老板坑,状态不好搞得没心情写博了,现在总算有空来总结一下了. 来先说 Plugin.BLE (https://github.com/xabre/xamarin-bluetooth-le),在NuGet里搜索 Bluetooth ,Plugin.BLE是下载最多的Xamarin.Form可用的库,有16.3K(1.63万)人下载(2017-11-23). 几乎可用库都试过 调用 P