appFramework在三星某些机型上的兼容问题
有个问题困扰了安卓哥好几天
一个带有fixed抬头的列表页,在向上swipe的时候,有一定概率会把整个画面滚动上去,就连fixed的部分也移动了。
于是哥觉得是webview的问题,找了各种选项,禁用所有滚动,结果连appframe的scroll也被禁用了。
第一天他找我的时候我就怀疑是那个#afui 上本来静态100%高度的style被js自动写成例如800px的时候出现了问题。
这个高度会根据不同设备计算出来不同。
一般的小米,索尼,都没出问题。
用模拟三星的AVD以及测试部门不知道谁的三星手机会出现上述bug
第一天安卓哥问我的时候,我就怀疑到了这个高度,并且建议了如果高度计算不准确,我们就用js强制写入一次高度。
下班前他在用logger查看这些高度,第二天说页面的高度没有问题。
于是我又怀疑到是否偶尔会触发这种滚动是因为触发了不同的事件,比如drag会引起这个问题,touch不会,如果是这样就屏蔽某种事件。
第二天这个问题还是没解决,一直在webview以及事件方面努力。
第三天,组长质问起来,然后尝试在页面底部加上了一个footer。
给footer加上色块发现,虽然整个画面滑了出去,footer与实际的app ico list 数目结束的位置之间还是长出一大截,也就是说footer不存在的时候,这个部分也是撑出了多余高度。
那么这个div的高度绝对是不正确的。
如果只是scroller 内部内容的高度不对,还不会有问题,但是现在可能是#afui的高度不正确,超出了设备所能容纳的高度,所以才会整体滑出。
那么解决方法有两个,我尝试在#afui上使用position : fixed 定位,解决了整体滑出的问题。
但是,仍然可以发现,最后一个app ico 被遮挡,也就是这样提示了我们,这个画面的高度绝对是超出了window高度。
安卓哥对appFramework的语法不熟悉,所以一直没有按照我的建议尝试成功,然后我告诉他怎么获取window高度,怎么赋给#afui,问题解决了!
真不容易,以后同类问题一定要举一反三!
appFramework在三星某些机型上的兼容问题的更多相关文章
- Android填坑系列:在小米系列等机型上放开定位权限后的定位请求弹框
背景: 近期因实际项目需要,在特定操作下触发定位请求,取到用户位置及附近位置. 问题: 经初步选型,最终决定接入百度定位,按照百度定位SDK Android文档,接入过程相对顺利.但随后发现,在小米系 ...
- css3在不同型号手机浏览器上的兼容一览表
网上搜集了css3对不同系统手机浏览器的支持情况(ios/android/winphone)备份一下以便查看. 以下资料由微信产品部"白树"整理, 转载请注明. √:完全支持 ...
- Android6.0机型上调用系统相机拍照返回的resultCode值始终等于0的问题
版权声明:本文为博主原创文章,未经博主允许不得转载. 正常情况下调用系统相机拍照: 如果拍照后点击的是“确定”图标,返回的resultCode = -1(Activity.RESULT_OK): 如果 ...
- Android 字体颜色在一些机型上不适配(textcolor失效)
最近在参加一个创业项目的开发,其中在适配Android4.4版本时候遇到一个问题,本身title是白色字体,并且标签栏里面的字是绿色的,但是到了4.4手机上就变成了黑色. 也就是说textcolor并 ...
- placeholde属性在IE10以下浏览器上的兼容方案
首先,判断浏览器是否支持placeholder属性:目前经验来看placeholder属性在 IE10及以上 才能正常显示,而我们实际项目中往往要求兼容到 IE8 var input ...
- php curl文件上传兼容php5.0~5.6各版本
PHP 5.0~5.6 各版本兼容的cURL文件上传 最近做的一个需求,使用PHP cURL上传文件.踩坑若干,整理如下. 不同版本PHP之间cURL的区别 PHP的cURL支持通过给CURL_POS ...
- VUE项目中文件上传兼容IE9
项目使用VUE编写,UI是ElementUI,但是Element的Upload组件是不兼容IE9的.因为IE9中无法使用FormData. 查找资料基本有两种解决方法:1.引入JQuery和jQuer ...
- js 无刷新文件上传 (兼容IE9 )
之前项目中有个文件上传了需求,于是直接就使用了FormData对象异步上传,但是在测试得时候发现ie9无法正常上传(项目要求兼容IE9+),无奈,查资料得知IE9- 版本不支持formdata对象得异 ...
- 解决UC浏览器或微信浏览器上flex兼容问题
在UC浏览器上使用display:flex;时会不起作用,要加上兼容性写法,如下 display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ disp ...
随机推荐
- WIN32 根据程序名(映像名称)终止外部程序
场景: 1.有时候需要调用外部程序,但是外部程序有可能崩溃挂起,这样这个进程就没法结束,所以再在下次调用前需要先结束之前调用的. 2.没考虑到权限问题,应该是只能终止当前用户启动的进程. #inclu ...
- Ⅶ.AngularJS的点点滴滴-- 事件
事件(和js一样有冒泡和捕获) <html> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2 ...
- char nvarchar varchar
1. char 固定长度,最长n个字符. 2. varchar 最大长度为n的可变字符串. (n为某一整数,不同数据库,最大长度n不同) char和varchar区别: ...
- navicat 数据库管理工具快捷键
最近在使用navicat 管理数据库中,因为经常要写一些sql的,但是每次都要鼠标点击运行,感觉很不爽,于是找到navicat(以下) 快捷键(最常用的): ctrl + q 打开查询窗口 ctrl ...
- 为什么要设置Java环境变量(详解)
关于java环境变量配置讲解: 1. PATH环境变量.作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序.我们需要把 jdk安装目录下 ...
- 自己做的demo---c语言的基本语法,过阵子可以重新写一些算法跟数据结构了
//输入a,b,输出a+b /*#include<stdio.h> int main() { int a,b; scanf("%d%d",&a,&b); ...
- 解决 TortoiseGit 诡异的 Bad file number 问题
http://blog.csdn.net/renfufei/article/details/41648061 问题描述 昨天,以及今天(2014-11-29),使用 TortoiseGit 时碰到了一 ...
- [转]toString()方法
文章转自:http://blog.sina.com.cn/s/blog_85c1dc100101bxgg.html 今天看JS学习资料,看到一个toString()方法,在JS中,定义的所有对象都具有 ...
- UVA 11825 Hackers’ Crackdown(集合动态规划 子集枚举)
Hackers’ Crackdown Miracle Corporations has a number of system services running in a distributed com ...
- codevs 4511 信息传递(NOIP2015 day1 T2)
4511 信息传递 NOIP2015 day1 T2 时间限制: 1 s 空间限制: 128000 KB 传送门 题目描述 Description 有个同学(编号为 1 到)正在玩一个信息传递的游戏. ...