首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Material Design —Tabs

由于滑动手势用于在Tabs之间导航,请勿将Tabs与同样支持滑动手势的内容配对。 类型 固定 滚动 Tab标签 标签标签可能包含icons和文字。...请勿使用包含支持滑动手势的内容的选项卡,因为滑动手势用于在选项卡之间进行导航。 例如,避免在内容可平移的地图中使用选项卡,或者避免在滑动内容的情况下使用可以取消项目的列表。...要在固定选项卡之间导航,可点击tab或向左或向右滑动内容区域。 ? 可滚动tabs 可滚动选项卡在任何特定时刻显示选项卡的子集。 它们可以包含更长的选项卡标签和比固定选项卡更多的选项卡。...当用户不需要直接比较选项卡标签时,可滚动选项卡最适合用于浏览触摸界面中的上下文。 要在可滚动选项卡之间导航,请触摸选项卡或向左或向右滑动内容区域。...要在不导航的情况下滚动选项卡,请向左或向右滑动选项卡。 ? 移动端可滚动tabs ? pc端可滚动tabs

2.4K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    组件库设计实战 - 复杂组件设计

    响应用户操作 轮播作为一个常见的通用组件,在桌面和移动端都有着非常广泛的应用,这里我们先以移动端为例,来阐述如何响应用户操作。...translateX,我们的轮播组件便可以做到跟手的用户体验,即在单次滑动中,轮播元素会跟随用户的操作向左或向右滑动。...但在处理第一个元素向左滑动或最后一个元素向右滑动时,新的 currentIndex 需要更新为最后一个或第一个。...,因为用户一个向左滑动的操作导致了一个向右的动画,反之亦然。...所有的动画本质上都是一连串的时间轴上的值,具体到轮播场景下即:以用户停止滑动时的值为起始值,以新 currentIndex 时 translateX 的值为结束值,在使用者设定的动画时间(如0.5秒)内

    99710

    Ionic 2 :如何实现列表滑动删除按钮1.创建Ionic2应用2.准备列表数据3.修改主页(HOME)的模版4.创建方法删除数据5.添加一个编辑按钮总结

    这篇教程将展示如何使用Ionic2添加一个简单的删除按钮到列表,当用户滑动列表项到左边的时候。这是一个处理删除列表数据时候常用的模式。本教程将涵盖创建这个滑动删除按钮所需要的一切。 ?...创建我们项目的blank模版默认建立了一个Home组件,这个教程我们就在此基础上修改。...: 'app/home/home.html', }) export class HomePage { constructor() {} } constructor 方法在组件创建是执行,因此我们在这里准备试验数据...{ if(this.items[i] == item){ this.items.splice(i, 1); } } } } 现在你向左侧滑动列表项...总结 Ionic2 这个特性真是太棒了,不仅能删除,还能轻易的添加其它按钮。 这同时也是一个非常完美的UI元素节省屏幕空间,不会显示这些信息除非你滑动屏幕。

    3.9K100

    Visual Studio Code 快捷键 Mac 版

    ⇧⌥↓ / ⇧⌥↑ 复制当前行向 下/上 ⇧⌘K 删除当前行 ⌘Enter / ⇧⌘Enter 在下/上 插入一行 ⇧⌘\ 跳转到匹配的括号 ⌘] / ⌘[ 向左/向右 缩进当前行 Home / End.../ ⌘K ⌘] 折叠/展开所有子区域 ⌘K ⌘0 / ⌘K ⌘J 折叠/展开所有区域 ⌘K ⌘C 添加行注释 ⌘K ⌘U 删除行注释 ⌘/ 切换行注释 ⇧⌥A 切换块注释 ⌥Z 切换文字换行 多光标和选择...(框)选择 ⇧⌥⌘→ 向右列(框)选择 ⇧⌥⌘PgUp 列(框)选择 向上一页 ⇧⌥⌘PgDown 列(框)选择 向下一页 搜索和替换 Mac 快捷键 介绍 ⌘F 查找 ⌥⌘F 替换 ⌘G / ⇧⌘G...⇧⌘T 重新打开已关闭的编辑器 ⌘K 输入保持打开 ⌃Tab / ⌃⇧ 选项卡打开下一个/上一个 ⌘K P 复制活动文件的路径 ⌘K R 在资源管理器中显示活动文件 ⌘K O 在新窗口/实例中显示活动文件...暂停 ⌘K ⌘I 显示悬停 集成终端 Mac 快捷键 介绍 ⌃` 显示集成终端 ⌃⇧` 创建新终端 unassigned(末分配) 复制选择 unassigned(末分配) 粘贴到活动终端 ⌘↑ 向上滑动

    1.7K31

    Visual Studio Code快捷键

    ⇧⌥↓ / ⇧⌥↑ 复制当前行向 下/上 ⇧⌘K 删除当前行 ⌘Enter / ⇧⌘Enter 在下/上 插入一行 ⇧⌘\ 跳转到匹配的括号 ⌘] / ⌘[ 向左/向右 缩进当前行 Home / End.../ ⌘K ⌘] 折叠/展开所有子区域 ⌘K ⌘0 / ⌘K ⌘J 折叠/展开所有区域 ⌘K ⌘C 添加行注释 ⌘K ⌘U 删除行注释 ⌘/ 切换行注释 ⇧⌥A 切换块注释 ⌥Z 切换文字换行 光标和选择...(框)选择 ⇧⌥⌘→ 向右列(框)选择 ⇧⌥⌘PgUp 列(框)选择 向上一页 ⇧⌥⌘PgDown 列(框)选择 向下一页 搜索和替换 Mac 快捷键 说明 ⌘F 查找 ⌥⌘F 替换 ⌘G / ⇧⌘...⇧⌘T 重新打开已关闭的编辑器 ⌘K 输入保持打开 ⌃Tab / ⌃⇧ 选项卡打开下一个/上一个 ⌘K P 复制活动文件的路径 ⌘K R 在资源管理器中显示活动文件 ⌘K O 在新窗口/实例中显示活动文件...⌘↓ 下身滑动 PgUp 向上滚动页面 PgDown 向下滚动页面 ⌘Home 滚动到顶部 ⌘End 滚动到尾部

    8.8K20

    IOS 10锁屏界面不好用?来看这份严肃的交互分析!

    (安卓则是无论向左还是向右滑动都能将该条消息清除,暂时忽略。) 向左滑动:消息则能看到“查看”和“清除”两个按钮。 在没被消息覆盖的屏幕区域「向右滑动」进入控件中心。...在没被消息覆盖的屏幕区域「向左滑动」进入相机。 在相机的界面内「向右滑动」切换至录像模式。...(当然,如果操作方向是相反的话可以有) 横划打开相机好像蛮酷 前面提到,在没被消息覆盖的屏幕区域向左滑动可以进入相机,这个设计思路本身是蛮不错的(以往的iOS里面则是按住相机icon是向上滑动进入相机)...在iOS10的锁屏界面下方出现的小点点也给出了暗示:向左滑动可以进入相机。然而···。 我们从场景进行分析。...在某些点上,iOS的这次大胆的更新或许需要重新产生出一套更加成熟的设计规范,让一切重回正轨

    1K70

    像 QQ 一样处理滑动冲突

    在项目中,如果要用到滑动控件嵌套滑动控件,总会让人很心塞。因为很可能会出现冲突的问题。这里举个例子,利用事件分发机制,处理侧滑菜单控件和列表中的侧滑删除控件间的冲突。...这里关注的重点是在滑动手势的处理上,简单分析一下需要做什么处理: (下面把侧滑菜单控件称作菜单控件,列表侧滑删除控件称作删除控件。) 在首页上下滑动时,滚动列表。...菜单控件关闭的情况下,如果列表里面没有展开的删除项,则手指向右滑动是滑动菜单控件,向左滑动是滑动删除控件。 如果列表里面有展开的删除控件,则菜单控件和列表项都不可滑动。...float deltaX = ev.getRawX() - mDownX; float deltaY = ev.getRawY() - mDownY; //向右滑动且列表没有展开项且横向滑动距离比竖向滑动距离大...这里还有两种不拦截的情况,向左滑动或者有展开项的话,都是和侧滑菜单没关系的,滑动事件里面再加入以下代码: //如果是向左滑,且竖直滑动距离大于横向滑动距离,不拦截 //MainPage打开的item个数大于

    59410

    IOS 10锁屏界面不好用?来看这份严肃的交互分析!

    (安卓则是无论向左还是向右滑动都能将该条消息清除,暂时忽略。) 向左滑动:消息则能看到“查看”和“清除”两个按钮。 在没被消息覆盖的屏幕区域「向右滑动」进入控件中心。...在没被消息覆盖的屏幕区域「向左滑动」进入相机。 在相机的界面内「向右滑动」切换至录像模式。...(当然,如果操作方向是相反的话可以有) 横划打开相机好像蛮酷 前面提到,在没被消息覆盖的屏幕区域向左滑动可以进入相机,这个设计思路本身是蛮不错的(以往的iOS里面则是按住相机icon是向上滑动进入相机)...在iOS10的锁屏界面下方出现的小点点也给出了暗示:向左滑动可以进入相机。然而···。 我们从场景进行分析。...在某些点上,iOS的这次大胆的更新或许需要重新产生出一套更加成熟的设计规范,让一切重回正轨。

    92360

    写给前端工程师看的,移动应用选型指南

    它好像是在某种程度上说,只有你的应用是用原生的 Android 和 原生的 iOS 代码编写时,它才能算是一个移动应用——你用 JavaScript 写的应用,怎么能算得上是移动 APP 应用呢?...浏览器自带的 JavaScript 引擎效率低 DOM 操作效率低,导致页面卡顿。 今天的混合应用开发技术,已经成熟得不能再成熟了,人们开始在追求性能上的一些突破。...同理于,React + Cordova,又或者是 Cordova + Weex。 在 Web 方面的经验比较丰富,没有足够的能力来支撑起 React Native 的开发。...用户是高端人士,使用 iOS 和高级的 Android 手机。这个时候,你基本上不需要考虑 Android 低版本的问题。 如果上面的原因没有说服你,那么你应该选择使用 Ionic。...NativeScript 如果 Ionic 2 不能满足你的性能要求,React Native 又存在一定的学习成本、开发成本,那么我们也可以考虑迁移到 NativeScript 上。

    2.1K60

    Flutter 卡片选择器

    卡片的边角和阴影有些调整。卡片是用于表示某些关联数据,例如集合,地理区域,膳食,联系方式等。卡片包含有关单个对象的内容和动作。 在本文中,我们将探讨Flutter中 的**Card Selector。...**我们将看到如何在flutter应用程序中使用card_selector包来实现带有动画和堆叠卡的卡选择器的演示程序。...选择器是完全可配置的,动画时间,卡之间的间隙,堆叠卡的尺寸因子。用户可以从左向右或从右向左滑动卡。特定卡上的信息将有所不同。 该演示视频展示了如何在颤动中创建卡选择器。...内容将根据卡而改变。一个小部件,用于选择向左或向右滑动的堆叠小部件。它会显示在您的设备上。 属性 **cardsGap:**此属性用于卡之间的间隙大小。...我们将添加一个列小部件,在内部添加卡的详细信息,例如银行名称,类型,编号和分支。所有数据均来自json文件。

    7.4K20

    什么是无障碍适配?

    百度百科定义:无障碍,在发展过程中没有阻碍,活动能够顺利进行。...软件上的"有障碍"群体在使用软件时,大概有以下几种“有障碍”群体,是无法像普通人一样的:视障群体。他们看不清,需要更大的字号。又或者完全看不到,需要语音播报内容。听障群体。他们听不清,需要更大的音量。...,也会激活碰到的元素) 单指触碰屏幕(或单指滑动屏幕,也会激活碰到的元素)✅ 激活(选中)下一个元素,并播放元素内容(类比键盘上的Tab) 向右滑动(部分软件也可向下滑动...) 向右滑动 ✅ 激活(选中)上一个元素,并播放元素内容(类比键盘上的Shift+Tab) 向左滑动(部分软件也可向上滑动)...向左滑动 ✅切换可激活的元素类型。

    3.1K73

    Android 滑动效果基础篇(三)—— Gallery仿图像集浏览

    ,需要做滑动动画后的处理,重新设置当前图片和当前图片的上一张和下一张的状态,为下次滑动做准备 @Override protected void onAnimationEnd() { if (isFlingRight...) { // 向右滑动,position减1 nBitmap = bitmap; bitmap = fBitmap; fBitmap = null; postion = postion...e1是手指第一次按上屏幕的起点,e2是抬起手指离开屏幕的终点,根据上图Android屏幕坐标系可知: 手指向右滑动,终点(e2)在起点(e1)的右侧,有e2.getX() - e1.getX() 大于...0 手指向左滑动,终点(e2)在起点(e1)的左侧,有e2.getX() - e1.getX() 小于0 手指向下滑动,终点(e2)在起点(e1)的下侧,有e2.getY() - e1.getY() 大于...0 手指向上滑动,终点(e2)在起点(e1)的上侧,有e2.getY() - e1.getY() 小于0 (2)onScroll(MotionEvent e1, MotionEvent e2, float

    1K20

    详解Android View的事件体系 之View基础(一)

    我们可以使用getX和getY方法获取当前View左上角的坐标,由此我们可以通过记录分别记录按下和抬起时坐标,通过坐标计算可以判断用户是左右滑动或者上下滑动,代码如下所示: @Override public...现在我们手指向右滑动打印日志如下: ? 反之,手指向左滑动打印: ?...在我们操作的过程中,我们可能会发现有时候我们不经意点击一下,也会显示向左滑动或者向右滑动,如果我们使用此方法来做用户交互操作的话,用户可能不经意间就误操作了,所以在这里判断用户滑动我们需要一个临界值,这个临界值也就是最小滑动距离...,最简单的我们可以在代码中判断滑动距离大于某个临近值的时候才判为用户滑动了,如果小于临界值则判为用户误操作,但把临近值写死显得并不友好,临近值和设备有关系,不同的设备临近值不同,所以我们引出了最小滑动距离...在framework层源码中定义了TouchSlop的值大小,源码如图所示,不同设备上该值得大小是不同的。 ? 上述就是 View基础知识的第一部分。

    53860

    移动端效果之CellSwiper

    写在前面 接着之前的移动端效果讲解,刚好项目中需要使用到这一效果,去饿了么的组件库看了一下效果,发现效果和微信端的cellSwiper还是有点差别的,由于项目中又是使用的React,之前使用的React...因此有两个点: 上层和下层的层都要绝对定位,这样才好区别层级(最开始我试的是上面的层不需要决定定位,发现移到项目中的时候,下面的层显示不出来,因为最开始设置了z-index:-1。...1.2.1 计算高度和按钮组的宽度 var el = document.querySelector('#content'); var btn = document.querySelector('#btnGroup...false; swiping = false; return; } } var distanceX = Math.abs(offsetLeft); // 如果向左滑动超过了按钮组的...40%,辣么在松手的一刻自动滑开 // 反之如果向右滑动超过了按钮组的40%就关闭 if (distanceX > btnGroupWidth * 0.4 && offsetLeft < 0) {

    1.2K60

    touch.js的使用总结

    Touch 手机端的操作 基本事件: touchstart  //手指刚接触屏幕时触发 touchmove    //手指在屏幕上移动时触发 touchend     //手指从屏幕上移开时触发 touchcancel...移除函数与绑定函数必须为同一引用; 二、部分手势事件 1、缩放 pinchstart缩放手势起点 pinchend缩放手势终点 pinch缩放手势 pinchin收缩 pinchout放大 2、旋转 rotateleft向左旋转...rotateright向右旋转 rotate旋转 3、滑动 swipestart滑动手势起点 swiping滑动中 swipeend滑动手势终点 swipeleft向左滑动 swiperight向右滑动...position相关位置信息, 不同的操作产生不同的位置信息 distance               swipe类两点之间的位移 distanceX, x           手势事件x方向的位移值, 向左移动时为负数...duration                  touchstart 与 touchend之间的时间戳 factor             swipe事件加速度因子 startRotate启动单指旋转方法,在某个元素的

    1.8K10

    速读原著-TCPIP(TCP滑动窗口)

    当接收方确认数据后,这个滑动窗口不时地向右移动。窗口两个边沿的相对运动增加或减少了窗口的大小。我们使用三个术语来描述窗口左右边沿的运动: 称窗口左边沿向右边沿靠近为窗口合拢。...这种现象发生在数据被发送和确认时。 当窗口右边沿向右移动时将允许发送更多的数据,我们称之为窗口张开。这种现象发生在另一端的接收进程读取已经确认的数据并释放了 T C P的接收缓存时。...当右边沿向左移动时,我们称之为窗口收缩。 Host Requirements RFC强烈建议不要使用这种方式。但T C P必须能够在某一端产生这种情况时进行处理。...来自接收方的一个报文段确认数据并把窗口向右边滑动。这是因为窗口的大小是相对于确认序号的。 正如从报文段7到报文段8中变化的那样,窗口的大小可以减小,但是窗口的右边沿却不能够向左移动。...接收方在发送一个 A C K前不必等待窗口被填满。在前面我们看到许多实现每收到两个报文段就会发送一个A C K。 下面我们可以看到更多的滑动窗口协议动态变化的例子。

    75030

    ionic入门之AngularJS扩展

    ionic ionic是一个强大的混合式/hybridHTML5移动开发框架,特点是使用标准的HTML、 CSS和JavaScript,开发跨平台(目前支持:Android、iOS,计划支持:Windows...此外,ionic使用AngularUI Router来实现前端路由。 命令行/CLI - 命令行工具集用来简化应用的开发、构造和仿真运行。...由于ionic使用了HTML5和CSS3的一些新规范,所以要求 iOS7+/ Android4.1+。 在低于这些版本的手机上使用ionic开发的应用,有时会发生莫名其妙的问题。...比如,我们使用ion-tabs指令就可以实现一个功能完备的选项卡: ......ionic.js : 手势支持 考虑到移动应用交互的特点,ionic.js也提供了手势操作的事件,比如: hold - 长按 tap - 敲击 drag - 拖动 swipe - 滑动 ... ?

    1.6K10
    领券