目录:

  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指令声明一个页脚栏元素,页脚栏总是位于屏幕的底部:

<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指令定义内容区域:

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

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

<ion-content overflow-scroll="true">…</ion-content>

滚动框 : ion-scroll

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

<ion-scroll> </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的功能:

<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()方法通知框架:

$scope.$broadcast(“scoll.refreshComplete”)

滚动刷新 : ion-infinite-scroll

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

<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坐标

ionic 踩过的坑-基本布局的更多相关文章

  1. ionic 踩过的坑

    内联模板 : script可能你没有注意过,HTML中常用的script标签在AngularJS中被重新定义了: 除了原来的脚本声明功能之外,如果script元素的type属性 定义为text/ng- ...

  2. 【转载】Fragment 全解析(1):那些年踩过的坑

    http://www.jianshu.com/p/d9143a92ad94 Fragment系列文章:1.Fragment全解析系列(一):那些年踩过的坑2.Fragment全解析系列(二):正确的使 ...

  3. 那些移动端web踩过的坑

    原文链接:https://geniuspeng.github.io/2017/08/24/mobile-issues/ 扔了N久,还是捡回来了.好好弄一下吧.刚工作的时候挺忙的,后来不那么忙了,但是变 ...

  4. apicloud地图、即时通讯、人脸识别登录、以及平时踩过得坑

    apicloud技术浅谈 导语 apicloud 的学习也有一段时间了,这是我个人的一些经验,和踩过的坑,希望对大家能有一些帮助. apicloud的知识准备 apicloud 是一个用原生的思想搭建 ...

  5. 项目中踩过的坑之-sessionStorage

    总想写点什么,却不知道从何写起,那就从项目中踩过的坑开始吧,希望能给可能碰到相同问题的小伙伴一点帮助. 项目情景: 有一个id,要求通过当前网页打开一个新页面(不是当前页面),并把id传给打开的新页面 ...

  6. web开发实战--弹出式富文本编辑器的实现思路和踩过的坑

    前言: 和弟弟合作, 一起整了个智慧屋的小web站点, 里面包含了很多经典的智力和推理题. 其实该站点从技术层面来分析的话, 也算一个信息发布站点. 因此在该网站的后台运营中, 富文本的编辑器显得尤为 ...

  7. "开发路上踩过的坑要一个个填起来————持续更新······(7月30日)"

    欢迎转载,请注明出处! https://gii16.github.io/learnmore/2016/07/29/problem.html 踩过的坑及解决方案记录在此篇博文中! 个人理解,如有偏颇,欢 ...

  8. Redis Cluster踩过的坑

    Redis Cluster踩过的坑请参考如下链接:http://www.iteye.com/blogs/subjects/Redis_Cluster_Devops

  9. 第八篇:web之前端踩的一些坑

    前端踩的一些坑   前端踩的一些坑 本节内容 事件代理 清除标签的所有事件 bootstrap的模态框自定义方法 ajax在django里面实现post提交 ajax提交数据嵌套 1.事件代理 之前写 ...

随机推荐

  1. Node.js与Express4安装与配置

    Nodejs简介 Node.js 基于 Chrome JavaScript 运行环境,用于便捷地搭建快速.可扩展的网络应用. 它使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效, 非常适合 ...

  2. 读取70开头的xml,gbk转成utf-8

    //读取70开头的xml,gbk转成utf-8 //InputStream is = new FileInputStream(super.getFile());//文件读取 //InputStream ...

  3. linux常用命令-帮助命令man,whatis,apropos,info,help

    man 命令 man 配置文件,注意这里只需要写文件名称就可以了,不能写文件的绝对路径 man既可以查看命令的帮助信息也可以查看配置文件的帮助信息,如果内容太多,可以输入"/内容" ...

  4. 周末娱乐一下--------恶搞windows小脚本

    下面这是个循环DOS命令,使用了C中的goto语句 echo命令式输出命令 set命令是设置命令 var是变量,初始为0 :continue是一个用于goto的标示. %var%输出变量名,%var% ...

  5. nginx配置301重定向

    1. 简介 301重定向可以传递权重,相比其他重定向,只有301是最正式的,不会被搜索引擎判断为作弊 2. 栗子 savokiss.com 301到 savokiss.me 3. nginx默认配置方 ...

  6. errno.h

    linux 中c语言使用errno.h头文件来记录错误信息以及定义返回错误代码的宏. strerror(errno)打印错误信息 1. warning: implicit declaration of ...

  7. kali2.0中dradis的使用方法

    启动脚本位于:/usr/lib/dradis下,再该目录下有一个start.sh文件,执行后,可以在浏览器中输入https://localhost:3004即可打开dradis的web接口 切记前面h ...

  8. FreeRTOS学习及移植笔记之二:在IAR和STM32F103VET上移植FreeRTOS

    上一次,我们简单的测试了FreeRTOS的基于IAR EWARM v6.4和STM32F103VET6平台的Demo,对其有了一个基本认识.接下来我们开始自己移植FreeRTOS的过程. 1.创建一个 ...

  9. imageNamed和imageWithContentsOfFile区别

    在 Apple 官方帮助文档提供了两个加载图片的方法 imageNamed , 其参数为图片的名字 imageWithContentsOfFile , 其参数是图片文件的路径 下面主要是说一下他们的区 ...

  10. android init进程分析 ueventd

    转自:http://blog.csdn.net/freshui/article/details/2132299 (懒人最近想起我还有csdn好久没打理了,这个Android init躺在我的草稿箱中快 ...