【原】Android中解决ActivityGroup+ViewPaper弹出输入法造成的布局混乱 - 紫夜

purplenight 2021-08-06 原文


【原】Android中解决ActivityGroup+ViewPaper弹出输入法造成的布局混乱


问题描述:

在使用ActivityGroup+ViewPaper方式制作可滑动的选项卡时,出现了点击文本框弹出输入法时,页面布局出现混乱的问题,如图所示:

 选项卡上有五个项,电梯、气瓶、人员、信息和更多。在底端展示。点击文本框获得焦点时,

底端的选项卡被输入法顶了上来。直接挡住了焦点输入框。无法正常输入。

 

解决过程:

乍看问题实在无从入手,输入法把控件顶起来的情况并不多。度娘搜索更是没有相关案例。下面进行排查:

  1. 从电梯和气瓶两个选项卡页面进入不会出现这个情况。起初考虑是否因为该页面有两个输入框导致,删除一个后,问题依旧,排除。
  2. 将气瓶的页面布局放入这里,同样出问题,排除布局文件原因。
  3. 保持人员的布局,将气瓶业务代码考入,无果,排除后台代码的原因。
  4. 将电梯或气瓶两个选项卡的页面放入人员这个页面,问题依旧,也就是说不是整个人员模块的问题。

问题进入瓶颈,不是人员模块的原因,但偏偏就是在人员这里加载才出现问题,思考半天,想起搭建整个选项卡布局时看到的一句话,ViewPaper会预先加载当前选项卡以及前一个和后一个选项卡的内容。奔着这句话,测试将人员后一项信息的页面换成气瓶的页面,重新进入人员,问题解决,布局不再出现问题。再进入信息页面,问题又出现,这时候可以肯定一个原因,电梯和气瓶因为右边都不是类似信息的页面,所以不出现问题,人员的后一个页面是信息页面,导致出现问题。

这时候终于把问题的焦点放在信息页面。他的布局和后面的更多类似,跟前三个布局大为不同。但是他们的布局为什么会影响前面的页面布局。继续排查,

通过删除信息页面的各个控件,终于发现ScrollView删除时,问题得到根本解决。但是删除一个控件这个页面无法正常显示了。

再一次百度,得知ScrollView在和一些控件使用,弹出输入法时可能会导致页面的布局出现异常。解决办法是屏蔽滚动条。懵了一下,原来布局混乱和滚动条有关,在ScrollView属性中增加android:scrollbars=”none”一句,最终问题得到根本的解决。

遗留思索:

经查找没有合理解释的是:ScrollView有时会影响页面输入法弹出导致布局出现问题,把它当做经验记下了,也许Android SDK在以后的更新中会得以解决。

 

总结:

很多问题网上不会有恰巧的解决方案,也许你就是第一个发现者。一开始谁也不会想到另一个页面的布局混乱是由其他页面的一个属性值的作用。举一反三,如果有类似这样的问题,也可以考虑是不是这种原因。解决问题需要从现象入手,一步步排查,看到问题本质东西,结合网上的资料,哪怕是一句不起眼的话,都可能给你解决问题找到灵感,将抽象的表面实体化,最终获得问题的解决方法,这是一个受益匪浅的经验。

发表于
2013-03-01 15:01 
紫夜 
阅读(431
评论(0
编辑 
收藏 
举报

 

版权声明:本文为purplenight原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/purplenight/articles/2938753.html

【原】Android中解决ActivityGroup+ViewPaper弹出输入法造成的布局混乱 - 紫夜的更多相关文章

  1. 详解数据库范式:第三范式与第五范式 – Dirichlet

    详解数据库范式:第三范式与第五范式 2010-11-27 17:38  Dirichlet  阅读(4949) […]...

  2. 【原创】Ubuntu系统root启用 – IamEasy_Man

    【原创】Ubuntu系统root启用             在安装Ubuntu的使用会提示输入用户名和密码, […]...

  3. 贝叶斯定律 – 小猪课堂

    贝叶斯定律 Posted on 2019-06-27 13:39  小猪课堂  阅读(607)  评论(0)  […]...

  4. 自动化进阶 – lina2014

    自动化进阶 一、python邮件发送 import smtplib # 发送邮件模块 from email.m […]...

  5. 修改照片详细信息中含有Exif信息的一些方法 – 大胡子青松

    修改照片详细信息中含有Exif信息的一些方法 修改照片详细信息中含有Exif信息的一些方法       此方法 […]...

  6. jquery提示插件autocomplete使用方法和官方下载地址 – webxzy

    jquery提示插件autocomplete使用方法和官方下载地址 下载地址 https://github.c […]...

  7. Spark Scheduler模块源码分析之TaskScheduler和SchedulerBackend – 吴一达

    Spark Scheduler模块源码分析之TaskScheduler和SchedulerBackend    […]...

  8. 循环遍历和迭代器遍历简单操作 – 小明在线

    循环遍历和迭代器遍历简单操作   本demo采用ArraryList作为操作的主体,做了简单的遍历流程。 代码 […]...

随机推荐

  1. 【ci框架基础】之部署百度编辑器

    在ci框架下加载编辑器,现在复习下内容。我的框架文件名称为ci   1.下载百度编辑器ueditor,http […]...

  2. 「小程序JAVA实战」springboot的后台搭建(30)

    转自:https://idig8.com/2018/08/27/xiaochengxujavashizhans […]...

  3. 常用的十七大学术搜索引擎 研究生应当常去的网站

    1、http://scholar.google.com/ 虽然还是Beta版,但个人已觉得现在已经是很好很强大 […]...

  4. pytest内核测试平台落地初体验

    测试平台,有人说它鸡肋,有人说它有用,有人说它轮子,众说纷纭,不如从自身出发,考虑是否要做测试平台: 第1阶段 […]...

  5. [15单片机] STC15F104W开发入门及模拟串口程序

    STC15F104W开发入门及模拟串口程序 Saturday, 31. March 2018 09:42AM […]...

  6. 简体,繁体转换

    记录一下,简体和繁体的转换有很多种方法,其中的一种比较方便的是引用Microsoft.VisualBasic. […]...

  7. 关于MacBook Pro选购

    13寸的MacBook Pro 有三款基本款 都是i5 差距很小 重点在于闪存(硬盘大小) 128G (足够开 […]...

  8. 实现Web请求后端Api的Demo,实现是通过JQuery的AJAX实现后端请求,以及对请求到的数据的解析处理,实现登录功能

    实现Web请求后端Api的Demo,实现是通过JQuery的AJAX实现后端请求,以及对请求到的数据的解析处理 […]...

展开目录

目录导航