Android键盘面板抵触 结构明灭解决计划

以前有写过一篇核心思想: Switching between the panel and the keyboard in Wechat

此次重要是按照核心思想的实际,理论sg新霸游戏道理是经过CustomRootLayout结构变幻,来获知是否是键盘惹起的真正的结构转变,进而处置到接下来PanelLayout的onMersure中。

  • 新算法再也不动态批改View#LayoutParams,而是愈加简单明了的体例
  • ***代码在原根本上主动动态适配面板高度与键盘高度等高,很大水平上优化了体验。

咱们能够看sg新霸游戏到微信中的 从键盘与微信的切换是无缝的,并且是无闪灼的,这类根本体验是合乎预期的。

然而实践中,简朴的 键盘与面板切换 是会有闪烁,题目的。本日咱们就实际阐明与办理这个题目。

终究结果比较:

sg新霸游戏-Android键盘面板抵触 规划闪灼处置计划

  • CustomRootView: 撤除statusBar与ActionBar(ToolBar…balabala)
  • FootRootView: 全部底部(包含输入框与底部面板在内的全部View)
  • PanelView: 面板View

全部处理过程,实在需求sg新霸游戏分为两块解决:

从PanelViesg新霸游戏w切换到Keybord

征象:因为表现Keybord时直接PanelView#setVisibility(View.GONE),招致会涌现全部FooterRootView到底部而后又被键盘顶起。

相符预期的应当: 直接被键盘顶起,不需求到底部再顶起。sg新霸游戏

从Keybord切换到PanelView

征象:因为暗藏Keybord时,直接PanelView#setVisibility(View.VISIBLE),招致会泛起全部FootRootView先被顶到键盘上面,而后再跟着键盘的动画,下到底部。

切合预期的应当: 跟着键盘收下直接切换到底部,而配有被键盘顶起的闪烁。

II. 解决

sg新霸游戏道理

在真正由Keybord招致规划真正将要变革的时分,才对PanelView做出适配。(细致,全部的果断处置要在Super.onMeasure以前完成判定)

方式:

经过CustomRootView高度的变革,来保证在Super.onMeasure以前取得真正的因为键盘招致规划将要变革,而后告诉PanelView,让其在Super.onMeasure以前给到有用高度。

需求留神:

1)在adjustResize形式下,键盘弹起会招致CustomRootView的高度变小,键盘收回会致使CustomRootView的高度变大,反之变小。是以能够经过这个机制获知真正的PanelView将要变革的机会。

2) 因为到了onLayout,clipRect的巨细曾经肯定了,又要防止不屡次挪用onMeasure是以要在Super.onMeasure以前

3) 因为键盘收回的时分,会触发屡次measure,要是不果断真正的因为键盘收回招致规划将要变幻,就直接给View#VISIBLE,仍然会有明灭的状况。

4) 从Keybord切换到PanelViesg新霸游戏w招致的结构辩论,只有在Keybord正在显现的时刻。

5) 从PanelViesg新霸游戏w切换到Keybord致使的规划抵触,曾经在PanelView与CustomRootView中内部处置。

III. GitHub:

JKeyboasg新霸游戏rdPanelSwitch

© 2012 – 2016, Jacksgong(blog.dreamtobe.cn). Licensed under the Crsg新霸游戏eativeCommons Attribution-NonCommercial 3.0 license (This license lets others remix,tweak, and build upon a work non-commercially, and although their new works mustalso acknowledge the original author and be non-commercial, they don’t have tolicense their derivative works on the same terms).http://creativecommons.org/licenses/by-nc/3.0/

【编辑引荐】

相关推荐
新闻聚焦
猜你喜欢
热门推荐
  • 产业互联网标记剖析平安危害亟需引发关

      当前,我国产业互联网标记剖析体系与家当利用尚处于扶植早期,面对着诸如宁静管理制度不完美、平安防护技术手段缺失、......

    11-20    来源:未知

    分享
  • 微软又出阴招!五亿用户无家可归,将1.

      前段时间微软颁布,Windows7体系于1月14日停留更新,制作方截止技术支持、软件更新和宁静题目的修复。这意味着全世界5亿台......

    12-01    来源:未知

    分享
  • 2020年CIO们将会把钱花在哪些技能上?

      跟着2019年濒临尾声,CIO们入手将他们的才气转移到数字路程的下一站。很多IT领导者会增添他们的员工体验(EX)来改良团体客......

    12-03    来源:未知

    分享
  • WASM 成为 HTML、CSS 与 JS 以后的第 4 门 We

      大师都晓得,万维网同盟W3C 认证的 Web 言语有 HTML、CSS 与 JavaScript,而克日同盟正式颁布 WebAssembly 焦点标准(WebAssembly Core ......

    12-04    来源:未知

    分享
  • 运维之三大监控比照

      1. zabbix Zabbix中心组件重要是Agent和Server,个中Agent首要卖力收罗数据并经过自动大概被动的方法收集数据发送到Server/Proxy,除......

    12-08    来源:未知

    分享
  • 2020年恶意软件删除工具Top 10

      1. Malwarebytes Anti-Malware 第一名,咱们挑选了Malwarebytes恶意软件删除工具,假定你若是曾经被恶意软件沾染,那末MalwarebytesAnt......

    01-27    来源:未知

    分享
  • 我国拟立法建立数据安全庇护经管根本轨

      跟着信息技术和人类出产生涯交汇交融,各种数据迅猛增加、海量集合,对经济生长、社会管理、人民生存都发生了庞大而深......

    01-27    来源:未知

    分享
  • AI技能帮忙环球抗疫保卫者获取信息

      近来,SingularityNET公司CEO Ben Goertzel博士决意召开COVID-19峰会,约请AI与数据科学研究者群体中的资深人士,期望他们与流行病......

    02-02    来源:未知

    分享
  • 5G时期下,移动机器人若何出其“智”胜

      移动机器人是一个集情况感知、动态决议与计划、举动掌握与履行等多功能于一体的综合体系,它会合了传感器手艺、信息处......

    02-02    来源:未知

    分享
  • 怎样变得抢手?如许的开发人员每一个团

      互助是你职业生涯中不会贫乏的一个部份。 甚么是团队?团队就为了独特方针而致力的一群人。一个团队实现目标的进程中,......

    02-07    来源:未知

    分享
返回列表
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。