目录:

  1. 标题栏 : ion-header-bar
  2. 页脚栏 : ion-footer-bar
  3. header/footer : 样式及内容
  4. 内容区 : ion-content
  5. 滚动框 : ion-scroll
  6. 拉动刷新 : ion-refresher
  7. 滚动刷新 : ion-infinite-scroll
  8. 脚本接口 : $ionicScrollDelegate

标题栏 : ion-header-bar

ion-header-bar指令声明一个标题栏元素,标题栏总是位于屏幕的顶部:

  1. <ion-header-bar>...</ion-header-bar>

ion-header-bar指令有两个可选的属性:

  • align-title - 设置标题文字的对齐方式。允许值:left | right | center,分别对应左对齐、 右对齐和居中对齐。
  • no-tap-scroll - 当点击标题时,是否将内容区域自动滚动到最开始。允许值:true | false,默认为true。

页脚栏 : ion-footer-bar

ion-footer-bar指令声明一个页脚栏元素,页脚栏总是位于屏幕的底部:

  1. <ion-footer-bar>...</ion-footer-bar>

ion-footer-bar指令有一个可选的属性:

  • align-title - 设置标题文本的对齐方式。允许值:left | right | center 。

header/footer : 样式及内容

ion-header-bar和ion-footer-bar经过编译后其样式类将分别被设置为.bar.bar-header 和.bar.bar-footer,回忆下我们在CSS框架课程中已经了解到的内容:

显然,你可以使用这些样式调整ion-header-bar/ion-footer-bar的外观!

内容区 : ion-content

使用ion-content指令定义内容区域:

  1. <ion-content>...</ion-content>

ion-content占据header和footer以外的剩余区域。当内容超过可视区域时,ion-content 可以滚动以显示被隐藏的部分。

试着滚动右边示例效果的内容区域,你会发现浮现的滚动条。当滚动停止时,浮动条消失。 这是ionic定制的滚动视图,可以使用overflow-scroll属性设置使用系统内置的滚动条:

  1. <ion-content overflow-scroll="true">...</ion-content>

滚动框 : ion-scroll

ion-scroll指令声明一个可滚动的容器元素,用户可以按住内容进行拖动:

  1. <ion-scroll>
  2. <!--content-->
  3. </ion-scroll>

ion-scroll指令有两个常用的可选属性:

  • direction - 内容可以滚动的方向。允许值:x|y|xy。默认为 y。
  • zooming - 是否支持pinch-to-zoom(捏拉缩放)。允许值:true | false。

在使用ion-scroll时,需要显式指定滚动框元素及内容元素 的大小(高度和宽度):

拉动刷新 : ion-refresher

使用指令ion-refresher可以为滚动容器(ion-scroll或ion-content)增加 拉动刷新/pull-to-refresh的功能:

  1. <ion-refresher></ion-refresher>

ion-refresher指令有以下可选的属性:

  • on-refresh - 当用户向下拉动足够的距离并松开时,执行此表达式
  • on-pulling - 当用户开始向下拉动时,执行此表达式
  • pulling-text - 当用户向下拉动时,显示此文本
  • pulling-icon - 当用户向下拉动时,显示此图标
  • refreshing-icon - 当用户向下拉动并松开后,显示的等待图标。ionic推荐使用spinner 代替这个属性
  • spinner - 和refreshing-icon的作用一样,但spinner是基于SVG的动画
  • disable-pulling-rotation - 禁止下拉图标旋转动画

注意在刷新完毕后,应当使用作用域的$broadcast()方法通知框架:

  1. $scope.$broadcast("scoll.refreshComplete")
例:
<ion-refresher on-refresh="doRefresh()" pulling-text="松开即可刷新..." refreshing-text="正在更新..." refreshing-icon="ion-loading-c">
</ion-refresher> 

滚动刷新 : ion-infinite-scroll

使用ion-infinite-scroll指令可以为滚动容器(ion-scroll或ion-content)增加 滚动刷新功能:

  1. <ion-infinite-scroll on-infinite="">...</ion-infinite-scroll>

ion-infinite-scroll指令有如下属性:

  • on-infinite - 必须。当滚动到底部时执行此表达式
  • distance - 可选。距底部距离百分比。当距离底部超过此数值时,执行on-infinite。默认为1%
  • icon - 可选。载入时显示的图标。默认是ion-load-d。ionic推荐使用spinner代替icon属性
  • spinner - 可选。载入时的spinner。默认是ionSpinner
  • immediate-check - 可选。是否在载入时立即检查滚动框范围

脚本接口 : $ionicScrollDelegate

可以使用服务$ionicScrollDelegate,通过脚本控制滚动容器(ion-scroll或ion-content)。 $ionicScrollDelegate服务提供的常用方法如下:

  • resize()

重新计算容器尺寸。当父元素大小变化时,应当调用此方法

  • scrollTop([shouldAnimate])

滚动到内容顶部。shouldAnimate参数为true|false,表示是否使用动画展示滚动过程

  • scrollBottom([shouldAnimate])

滚动到内容底部。shouldAnimate参数为true|false,表示是否使用动画展示滚动过程

  • scrollTo(left,top[,shouldAnimate])

滚动到指定位置。left和top分别表示要滚动到的x坐标和y坐标

  • scrollBy(left,top[,shouldAnimate])

滚动指定偏移量。left和top分别表示要滚动的x偏移量和y偏移量

  • getScrollPosition()

读取当前视图位置。返回值为一个JSON对象,具有left和top属性,分别表示x和y坐标

本文参考:http://www.w2bc.com/Article/33160

【Ionic】---AngularJS扩展基本布局的更多相关文章

  1. ionic入门之AngularJS扩展基本布局

    目录: 标题栏 : ion-header-bar 页脚栏 : ion-footer-bar header/footer : 样式及内容 内容区 : ion-content 滚动框 : ion-scro ...

  2. ionic入门之基本布局

    目录: 简介 Hybrid vs. Others ionic CSS框架 基本布局 布局模式 定高条块:.bar .bar : 位置 .bar : 嵌入子元素 .bar : 嵌入input 内容:.c ...

  3. 【Ionic+AngularJS 开发】之『个人日常管理』App(一)

      写在前面的话 过去一年自己接触了不少手机前端开发,得益于现在手机性能的提升和4G普及,感觉使用混合技术开发手机App已经可以满足越来越多的应用场景了.新年伊始,对自己2016年所学知识做一个阶段性 ...

  4. Cordova Ionic AngularJS

    实践分享:开始用Cordova+Ionic+AngularJS开发App http://www.cocoachina.com/webapp/20150707/12395.html

  5. 6个强大的AngularJS扩展应用

    本文链接:http://www.codeceo.com/article/6-angularjs-extension.html本文作者:码农网 – 小峰 AngularJS现在非常热门,是Google推 ...

  6. Ionic/Angularjs 知识点解析

    Ionic/Angularjs 知识点解析 angular-ui-router(状态跳转) state的定义:(在app.js的config下配置) $stateProvider .state('ap ...

  7. ionic入门之AngularJS扩展(一)

    ionic ionic是一个强大的混合式/hybridHTML5移动开发框架,特点是使用标准的HTML. CSS和JavaScript,开发跨平台(目前支持:Android.iOS,计划支持:Wind ...

  8. ionic之AngularJS扩展 移动开发(视图导航一)

    目录: 内联模板 : script 路由机制 : 状态机 导航视图 : ion-nav-view 模板视图 : ion-view 导航栏 : ion-nav-bar 回退按钮 : ion-nav-ba ...

  9. ionic之AngularJS扩展动态组件

    目录: 1. 模态对话框 : $ionicModal 2. 上拉菜单 : $ionicActionSheet 3. 弹出框 : $ionicPopup 4. 浮动框 : $ionicPopover 5 ...

随机推荐

  1. uva 1356 Bridge ( 辛普森积分 )

    uva 1356 Bridge ( 辛普森积分 ) 不要问我辛普森怎么来的,其实我也不知道... #include<stdio.h> #include<math.h> #inc ...

  2. Lua学习笔记(三):函数和闭包

    函数 lua的函数以function关键字开始,后跟函数名称和参数,最后以end结束,我们看一个简单的函数定义: function foo() --do something end function ...

  3. spring事务注解

    @Transactional只能被应用到public方法上, 对于其它非public的方法,如果标记了@Transactional也不会报错,但方法没有事务功能. Spring使用声明式事务处理,默认 ...

  4. zookeeper 系列

    ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.名字服务.分布式同步.组服务等.ZooKeeper的目标就是封装好复杂易出错的关键服务 ...

  5. 修改 SVN 账户密码的方法

    记是记不住 的,即便是每天都在用的东西,也有貌似熟悉其实很陌生的时候,或者说根本就是不熟悉.于是需要拿出来经常翻翻,比如我们的SVN账户配置,很简单的一个 case,你可能是svn使用高手,但不一定记 ...

  6. VS DLL 复制本地

    1.引用一个DLL,需要指定路径,复制本地的意思是 把这个DLL复制到exe的Debug目录(调试的时候). 2.复制到本地的动作是在生成的时候执行的,清理的时候会删除. 3.从外部引用一个DLL,不 ...

  7. 2.目录:疯子讲iOS课程

    目录:疯子讲iOS课程 写这个目录让我纠结好几天,一是我在考虑要不要从Objective-c基础开始讲,是否要使用ARC的方式讲,二是本人的游戏这几天正在封测,时间也比较紧张.纠结于有些朋友可能还不了 ...

  8. Android 滑动效果高级篇(八)—— 自定义控件

    自定义控件,较常用View.ViewGroup.Scroller三个类,其继承关系如下: 本示例自定义控件,实现一个Gallery效果,并添加了一个显示View个数和位置的bar条,效果图: 自定义控 ...

  9. 在Linux里设置环境变量的方法(export PATH)

    一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量.例如我的mips-linux-gcc编译器在“/opt/au1200_rm/build_tools/bin”目录下,b ...

  10. ptrace x64 转

    #include <sys/ptrace.h> #include <sys/types.h> #include <sys/wait.h> #include < ...