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

简单了解下无障碍设计模式

Logo 和装饰性的元素 虽然装饰性元素(例如 Logo 和插图)不需要满足对比度建议,但如果它们有比较重要的功能,那么它们应该有一定的辨识度。...正确示例 有辨识度的装饰性元素不需要满足对比度建议。 错误示例 没有必要扭曲你的 Logo 来满足对比度建议。...当使用屏幕阅读器(如 “TalkBack” ),并通过触摸板导航时,在用户指尖触摸到 UI 元素时,会大声读出标签上的文本。...例如,当焦点聚焦到控件上时, TalkBack 会大声朗读出控件,如果为其加上了定时器,可能会阻止控件完成某些任务。...错误示例 当把重要的操作嵌入到其他内容中时,就不清楚什么是页面中最重要的元素。 焦点顺序 输入焦点应该按照视觉布局的顺序排列,从屏幕顶部到底部。它应该从最重要的项目到最不重要的项目进行遍历。

4.8K40

【Flutter 专题】64 图解基本 TextField 文本输入框 (一)

和尚最近在学习基础的 Flutter Widget,原因在于很多基础的组件有很多容易忽视的注意事项,了解并熟悉后对整体的开发认知会有所提升;今天和尚学习一下 TextField 文本输入框;...maxLength 为字符长度,设置时默认是展示一行,且右下角有编辑长度与整体长度对比;与 maxLengthEnforced 配合,maxLengthEnforced 为 true 时达到最大字符长度后不可编辑...maxLines 为允许展现的最大行数,在使用 maxLength 时内容超过一行不会自动换行,因为默认 maxLines=1,此时设置为 null 或固定展示行数即可自动换行;区别在于 null 会展示多行...当 TextField 获取焦点弹出输入框时,输入框可能会将页面中元素顶上去,为避免此情况,可将 Scaffold 中 resizeToAvoidBottomPadding: false 即可,resizeToAvoidBottomPadding...使用 maxLength 时如何取消文本框右下角字符计数器?

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

    图解浏览器

    : 栈中的垃圾回收比较简单,当一个函数执行结束后,JavaScript 引擎会通过向下移动 ESP 来销毁函数调用栈中所保存的执行上下文,ESP 就是记录当前执行状态的指针。...下图中米色方块代表主线程处于忙碌阶段,如果此时用户进行输入,则它必须等待任务完成时才能响应输入,等待的时间也就是此页面上该用户的 FID 值。...在上图中,有一个元素在一帧中占据了视口的一半。然后,在下一帧中,元素下移视口高度的 25%。...红色的虚线矩形表示两个帧中元素的可见区域的并集,在这种情况下,其为总视口的 75%,因此其影响分数为 0.75。 距离分数 布局偏移分数方程的另一部分测量不稳定元素相对于视口移动的距离。...在上图中,最大视口尺寸是高度,不稳定元素已经移动了视口高度的 25%,所以距离分数是 0.25。

    1.5K30

    Carson带你学Android:源码解析自定义View Draw过程

    2种情况下的draw过程 3.1 单一View的draw过程 应用场景 在无现成的控件View满足需求、需自己实现时,则使用自定义单一View 如:制作一个支持加载网络图片的ImageView控件 注...具体使用 继承自View、SurfaceView 或 其他View;不包含子View 原理(步骤) View绘制自身(含背景、内容); 绘制装饰(滚动指示器、滚动条、和前景) 具体流程...该标记位的作用是:当一个View不需要绘制内容时,系统进行相应优化 * b....WILL_NOT_DRAW : 0, DRAW_MASK); } // 应用场景 // a. setWillNotDraw参数设置为true:当自定义View继承自 ViewGroup 、且本身并不具备任何绘制时...// b. setWillNotDraw参数设置为false:当自定义View继承自 ViewGroup 、且需要绘制内容时,那么设置为 false,来关闭 WILL_NOT_DRAW 这个标记位。

    37220

    Android经典面试题之RecycleView 深度解析与面试题梳理

    RecyclerView 是 Android 提供的一个高效且功能强大的列表和网格布局管理器,它不仅提高了滑动的流畅性,还通过回收复用视图的方式提高了内存的利用率。...用户滚动 RecyclerView 时,LayoutManager 会计算哪些项应该显示在屏幕上,并决定哪些项可以被回收复用。...ViewHolder 确保了视图的复用,每个 ViewHolder 对应一个视图,当数据项被滑动出屏幕时,ViewHolder 会被缓存,当新的数据项需要显示时,可以重用这些 ViewHolder。...RecyclerView 与 ListView 的区别 ListView: 只能实现垂直列表。 不支持装饰器模式(如分割线)。 没有内建的动画支持。 滑动性能较差,因为每个列表项都是独立的视图。...支持装饰器模式,可以轻松添加分割线。 内建动画支持,可以自定义动画效果。 滑动性能优越,通过视图复用和预加载机制优化。 2.

    17110

    RecyclerView技术栈参考资料:

    滚出可见区域的条目将被回收,并在下一个条目可见的时候被复用。 我们可以从下图中得到更直观的解释: ? 左边的图是数据初始化后的示例,当向上滚动视图的时候,当条目不可见之后将被回收。...右图中红色区域内的两条不可见条目,将被放到缓存队列中以便新的条目可见时进行复用。...设置条目分割线 - 在ListView中可以通过设置android:divider属性来为两个Item间设置分割线。...Item的位置,并且负责决定何时回收和重用Item。...,我们可以通过以下代码为Item增加动画效果: recyclerView.setItemAnimator(new DefaultItemAnimator()); 在之前的版本中,当时据集合发生改变时,我们通过调用

    1.2K10

    四年Android面试遇到的问题整理

    在栈顶,且现在要再启动ActivityA,这时会调用onNewIntent()方法 当ActivityA的LaunchMode为SingleInstance,SingleTask时,如果已经ActivityA...已经在堆栈中,那么此时会调用onNewIntent()方法 当ActivityA的LaunchMode为Standard时,由于每次启动ActivityA都是启动新的实例,和原来启动的没关系,所以不会调用原来...4.尽量不要在Activity中使用非静态内部类,因为非静态内部类会隐式持有外部类实例的引用,当非静态内部类的引用的声明周期长于Activity的声明周期时,会导致Activity无法被GC正常回收掉。...适配器模式:将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper) 装饰模式:动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活...2.当不能采用继承的方式对系统进行扩展或者采用继承不利于系统扩展和维护时可以使用装饰模式。 优点: 1.对于扩展一个对象的功能,装饰模式比继承更加灵活,不会导致类的个数急剧增加。

    57310

    新知 | 破局音视频终端困境,快速实现多种音视频应用

    在社交娱乐方面,腾讯云视立方能够满足电商直播、秀场直播、在线K歌、语聊房等各种场景的音视频需求,通过高并发、低成本的优越直播性能,为社交娱乐场景带来极致的音视频互动体验。...可以说通过腾讯云视立方,就能完全满足用户有关音视频终端的所有需求。 腾讯云视立方还支持与腾讯云云端服务无缝结合。...上图中列出了短视频SDK的详细能力清单。在采集拍摄、视频导入/导出、视频剪辑方面,短视频SDK都提供了丰富且强大的产品能力。...在上图的全链路架构图中可以看到,通过短视频SDK完成采集拍摄后可以通过点播后台实现一站式的加速分发服务。 播放器SDK产品介绍 视立方播放器SDK在今年的六月份完成了一次全新的升级。...仅需三步快速集成,为您的APP添加音视频通话功能,1天完成接入,3天达到上线标准,1周内即可正式上线。

    4.8K20

    unity3d自学教程_3D技巧

    面板左侧有Favorites和Assets两个分支,其中Assets分支为所有资源的树状层级列表,类似于Windows资源管理器,而Favorites分支可存放经常访问的资源以及某次资源查找的结果,类似于收藏夹...以屏幕左下角为(0,0)点,右上角为(pixelWidth,pixelHeight)点,Z轴使用相机的世界坐标单位。其各轴方向与视口坐标相同。...,在大型游戏项目开发时建议使用C#。...Start:仅在所有脚本的Update方法第一次被调用前执行,且仅在脚本实例被启用时执行。Start在所有脚本的Awake方法全部执行完成后才执行。 Update:在每次渲染新的一帧时执行。...Reset:用户点击属性监视面板(Inspector)的Reset按钮或首次添加该组件时执行,仅在编辑模式下执行。 OnDestroy:当游戏对象将被销毁时执行。

    3.3K20

    【Flutter 专题】65 图解基本 TextField 文本输入框 (二)

    和尚刚学习了 TextField 的基本用法,今天特意学习一下 TextField InputDecoration 文本框装饰器的相关内容; InputDecoration 源码分析 const...,还提供了简单便利的构建方式 collapsed 默认是无边框的,且无法设置标签等其他属性; 案例尝试 icon 为装饰器外小图标,可灵活设置图标或其他 Widget,默认距输入框 16dp,主题可通过...errorText 为文本框错误提示信息,一般在文本框底部,当设置 errorText 时不展示 helperText,整体默认为红色;errorStyle 为错误提示信息样式属性;errorMaxLines...counter 系列为文本框右下角计数器,当设置 maxLengths 时通常会在右下角展示编辑字符数与整体数量比,可通过 counter 系列组件调整;counterText 为计数器展示内容;counterStyle...小扩展 在实际开发中,可能会随时需要关闭键盘,此时我们仅需监听一下即可;和尚监听一个文本输入框,当输入字符长度大于 11 位时即收起键盘; return TextField(controller

    4.7K41

    ARIA16

    尤其对于视障用户来说,屏幕阅读器依赖准确的页面结构和标签描述来解释内容。ARIA16是一种有效的技术,使用aria-label属性为无可见文本的元素提供描述性标签,从而增强Web的可访问性。...ARIA16是W3C推荐的一项技术,旨在通过aria-label属性为交互式元素提供可访问性支持。aria-label允许开发者为没有可见文本的元素定义可读的描述信息,供屏幕阅读器使用。...使用场景 图标按钮:为只有图标的按钮添加描述性标签。 装饰性元素:为装饰性但可交互的元素提供语义化说明。 复杂控件:为动态生成或没有内嵌文本的控件提供可读内容。 如何使用ARIA16?...符合Web可访问性标准:ARIA16符合WCAG 2.1可访问性指南的要求,有助于满足法律和道德责任。 简单易用:与其他ARIA技术相比,aria-label的实现成本低且效果显著。...总结 ARIA16通过aria-label属性为无文本元素赋予描述性信息,大大提升了Web应用的可访问性。

    6110

    Android应用保活全攻略:30个实用技巧助你突破后台限制

    JobScheduler是Android 5.0引入的一种任务调度机制,可以在满足特定条件下执行任务。通过创建一个Job,设置触发条件,然后将Job提交给JobScheduler。...当触发条件满足时,JobScheduler会启动应用。 5. 白名单 引导用户将应用加入系统的白名单,如省电白名单、自启动白名单等。加入白名单的应用不会受到系统的限制,可以在后台持续运行。 6....合理设置进程优先级 Android系统会根据进程的优先级来决定是否回收进程。通过合理设置进程优先级,可以降低系统回收进程的概率。...例如,可以将Service设置为前台服务,或者将进程与用户正在交互的Activity绑定。 11. 使用sticky广播 使用sticky广播在一定程度上可以提高广播接收器的优先级。...FCM是一种跨平台的消息推送服务,可以实现高效且可靠的消息传递。通过使用FCM,你可以确保应用在后台时接收到实时消息,而无需采取过多的保活手段。 18.

    1.7K21

    精选Android中高级面试题:性能优化,JNI,设计模式

    内存不够时就回收软引用对象 2、内存中如果加载一张 500 * 500 的 png 高清图片。应该是占用多少的内存?...内存判定对象可回收有两种机制: 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加 1;当引用失效时,计数器值就减 1;任何时刻计数器为 0 的对象就是不可能再被使用的。...的子 View 如果高度和 RelativeLayout 不同,则会引发效率问题,当子 View 很复杂时,这个问题会更加严重。...结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。...参考回答:装饰器模式与代理模式的区别就在于: 两者都是对类的方法进行扩展,但装饰器模式强调的是增强自身,在被装饰之后你能够在被增强的类上使用增强后的功能。

    2.7K30

    Xpath高阶定位技巧,轻松玩转App测试元素定位!

    XPath 轴XPath 轴是 XPath 语言中的一个重要概念,它可以根据节点之间的关系来选择节点。XPath 轴定义了节点的一个集合,这个集合由满足特定条件的节点组成。...:id/price_layout"]定位顺序为:定当前节点后的所有兄弟节点使用 XPath 定位,定位到的两个元素就是上图中的两个兄弟。...//*[@resource-id="com.xueqiu.android:id/stock_layout"]/following-sibling::*当元素只有一个兄弟节点时,如果需要定位这些兄弟节点中的某一个...使用 resource-id 进行定位时,会定位到多个元素使用and运算符增加筛选条件进行过滤,需要满足符合 resource-id,且文本内容为阿里巴巴的元素。...示例:定位当前页面中resource-id为com.xueqiu.android:id/stockName或文本内容text为加自选的元素,也就是下面 6 个元素://*[@resource-id="com.xueqiu.android

    34920

    精选Android中高级面试题 (四):性能优化,JNI,设计模式

    参考回答:首先我们要清楚图片的三级缓存是如何的: ? 如果内存足够时不回收。内存不够时就回收软引用对象 2、内存中如果加载一张 500*500 的 png 高清图片。应该是占用多少的内存?...内存判定对象可回收有两种机制: 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加 1;当引用失效时,计数器值就减 1;任何时刻计数器为 0 的对象就是不可能再被使用的。...的子 View 如果高度和 RelativeLayout 不同,则会引发效率问题,当子 View 很复杂时,这个问题会更加严重。...结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。...参考回答:装饰器模式与代理模式的区别就在于: 两者都是对类的方法进行扩展,但装饰器模式强调的是增强自身,在被装饰之后你能够在被增强的类上使用增强后的功能。

    1.3K30

    看完这篇文章,解决 APP 中 90 % 的内存异常问题

    下面就来看下这 2 个算法: 引用计数算法 每个对象有一个引用计数器,当对象被引用一次则计数器加一,当对象引用一次失效一次则计数器减一,对于计数器为 0 的时候就意味着是垃圾了,可以被 GC 回收。...当这个方法运行完成后,就会退出方法栈,则引用对象的引用数为 0 ,这个对象会被回收。...但是如果 mStrongReference 引用是全局时,就需要在不用这个对象时赋值为 null ,因为 强引用 不会被 GC 回收。...如果一个对象仅持有虚引用,那么它就和没有任何引用一样,在任何时候都可能被垃圾回收器回收。 虚引用主要用来跟踪对象被垃圾回收器回收的活动。...当垃圾回收器准备回收一个对象时,如果发现它还有虚引用,就会在回收对象的内存之前,把这个虚引用加入到与之关联的引用队列中。

    76730

    关于H5在移动端弹出下拉选项时遮挡输入框的问题

    背景 在最近的一个Hybrid App项目中,我实现的H5有以下两个需求: 使用quill.js实现富文本编辑器,但是,工具栏需要固定定位到底部,当输入法弹出时,工具栏需要悬浮在输入法键盘之上,如下图所示...当光标聚焦到编辑区输入文字时,系统级的输入法键盘弹出,此时,键盘的弹出对webview的高度会有一定的影响,而android和ios对webview的处理有所不同,简单的说就是: android上:在下图中...的高度不会随着键盘的弹出而发生改变,始终是左图蓝色框的高度 综上,当工具栏使用fixed来定位时,在android上,当键盘弹出时webview的高度会减小,所以工具栏会悬浮在键盘之上,也就是说,在android...将工具栏放在顶部,这样改动成本最小,兼容性最好,如果能说服产品,那么推荐这种方式 在ios app端,当键盘弹出时,配置webview的高度为屏幕高度 - 键盘高度,也就是与android保持一致的处理方式...,最终,我们确定的方案是由端来实现富文本编辑器,H5来实现编辑后的预览页面 下拉选项遮挡输入框的问题 对于文本输入框之所以不会遮挡,是因为文本输入框进行输入时,弹出的是系统级的输入法键盘,所以不会遮挡。

    5.5K30

    【适配】425- 彻底搞懂移动Web开发中的viewport与跨屏适配

    维基百科①的解释为: 在计算机图形学理论中,当将一些对象渲染到图像时,存在两个类似区域的相关概念。(视口和窗口) 视口是一个以特定于渲染设备的坐标表示的区域(通常为矩形)。...同理,当浏览器窗口比较小,而我们想要看到页面下面的内容时,我们需要向下滚动滚动条,浏览器在实现这个的过程中所依赖的,便是视口的下移。...3.2 放大的viewport 为了优化“最初为 PC 设计的网页”在移动设备的浏览体验,移动浏览器厂商们想了一个方案,那就是增大页面载入时初始视口的宽度,比如 Android 和 iOS 都比较常见的...其技术实现通常为:服务器根据浏览器请求的 user-agent 判断设备类型,然后返回(或重定向)对应的站点内容。 本文,我们仅讨论 m 站中的移动端适配。...在滚动到视图中之前,视口外部的内容在屏幕上不可见。 ●当前可见的视口部分称为可视视口。这可以小于布局视口,例如当用户进行缩放缩放时。该布局视口保持不变,但视觉视口变小。

    3.1K30
    领券