ViewPager的高度包裹 , 页卡问题
来源:互联网 发布:ad高亮pcb某一网络 编辑:程序博客网 时间:2024/04/30 15:03
通过百度 , 网上解决ViewPager高度包裹的问题 , 主要重写onMeasure()的方法.因为项目需求 , 不同页卡的高度是不一样的 , 我的解决办法是 , 只计算第一页的高度 , 后面的页卡 , 都按照第一页的高度.
但是 , 同时也出现了问题 , ViewPager的页卡是有缓存的 , 默认是1的邻居单位 , 但是页卡数量多了 , 高度计算就会出问题.
尝试过把高度的int值 , 改成员变量 , 结果还是不行.
我最后的办法是增加ViewPager的缓存数量 , 原来的1 , 改成2 , 一般是够用了 , 不然 , 高度变化太多的ViewPager , 也不科学吧.
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// 下面遍历所有child的高度
// int height = 0;
// for (int i = 0; i < getChildCount(); i++) {
// View child = getChildAt(i);
// child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0,
// MeasureSpec.UNSPECIFIED));
// int h = child.getMeasuredHeight();
// if (h > height) // 采用最大的view的高度。
// height = h;
// }
height = 0;
int count = getChildCount();
if (count > 0) {
View child = getChildAt(0);
child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
height = child.getMeasuredHeight();
}
heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY);
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
最后设置一下缓存数量
mPager.setOffscreenPageLimit(3);
- ViewPager的高度包裹 , 页卡问题
- ViewPager的高度问题
- 自定义ViewPager实现高度自适应 WRAP_CONTENT|包裹内容
- ViewPager自适应高度问题
- div包裹的iframe有5px的高度差问题
- 关于ViewPager高度自适应(随着pager页的高度改变Viewpager的高度)
- 关于ViewPager高度自适应(随着pager页的高度改变Viewpager的高度)
- 关于ViewPager高度自适应(随着pager页的高度改变Viewpager的高度)
- 自定义ViewPager的高度
- Android 中ViewPager自适应图片高度的问题
- 关于wrap_content包裹.9图片的问题
- web里元素包裹的问题。
- 动态设置ViewPager的高度
- 重新计算ViewPager的高度
- 高度自适应的ViewPager--SelfAdaptingViewPager
- GridView、listView的高度为Wrap_content,高度包裹内容使用Integer.MAX_VALUE >> 2的原因
- 设置listview高度包裹内容
- 解决ViewPager 高度wrap_content无效问题
- MXML 语法
- leetcode——3—— Longest Substring Without Repeating Characters
- 欢迎使用CSDN-markdown编辑器
- iOS解决键盘弹出遮挡输入框问题
- xdebug+phpstorm实现远程断点调试
- ViewPager的高度包裹 , 页卡问题
- LeetCode 105, 106. Construct Binary Tree from Preorder and Inorder/Inorder and Postorder Traversal
- 游戏性能优化技术干货分享——内存管理
- Gibbs Sampling
- 高性能 TCP & UDP 通信框架 HP-Socket v3.4.1 正式发布
- (MyEclipse配置Hibernate报错)SQL Error: 1146, SQLState: 42S02
- 宏定义中的运算符:#和##
- S5PV210串行通信编程实战2
- 《Python核心编程》第十一章:函数和函数式编程