android硬件加速(View.LAYER_TYPE_SOFTWARE)与GridView for ScrollView 显示问题
来源:互联网 发布:网狐6603手机游戏源码 编辑:程序博客网 时间:2024/06/05 09:48
直奔主题:
GridView放在ScrollerView中是无法正常显示的,这个问题网上讨论比较多,大家也都比较清楚,主要做法是自定义一个GridView,如下:
package com.ecity.xinao.ui.widget;import android.content.Context;import android.util.AttributeSet;import android.view.View;import android.widget.GridView;public class PhotoHistoryItemGridView extends GridView { public PhotoHistoryItemGridView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public PhotoHistoryItemGridView(Context context, AttributeSet attrs) { super(context, attrs); } public PhotoHistoryItemGridView(Context context) { super(context); } @Override public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); }}
但我这样做了之后,发现一个问题,当这个GridView放入ScrollView中时,当高度不超过手机屏幕时,是可以正常显示的,但是当高度超过手机时,发现GridView中的Item都不能正常显示了,一片空白,如下图
百度好久,未果。。。。
发现我的代码中有一行:sectionViewPhoto.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
大家应该都知道,这是开启硬件加速的,为了让view显示更平滑,在这里我是为了显示用shape画的虚线。
但是 目前,Android对硬件加速的支持并非完美,有些绘制操作在开启硬件加速的情况下不能正常工作(具体的列表可以参考Android开发者文档)。
注释掉这行代码后,GridView显示正常:
希望能帮到一些朋友。
2 0
- android硬件加速(View.LAYER_TYPE_SOFTWARE)与GridView for ScrollView 显示问题
- Android硬件加速导致一个View显示记录
- ListView或GridView与ScrollView共存,高度显示问题
- Android的ScrollView下嵌套GridView显示不完全问题处理
- android开发在ScrollView中的GridView显示问题及原因
- Android 解决scrollview中嵌套listview、GridView显示不完全问题
- android webview 硬件加速 view渲染问题
- Android ScrollView嵌套HorizontalScrollView 滑动问题 ScrollView包含GridView显示问题
- 处理ScrollView嵌套GridView显示不全问题
- 解决ScrollView 嵌套 GridView 单行显示问题
- ScrollView嵌套Gridview显示不全的问题
- ScrollView 与 GridView冲突,控件显示中间
- android scrollview listview (GridView)显示不全
- 解决GridView与scrollview嵌套时GridView显示一行数据
- android ScrollVIew中嵌套GridView,如何显示GridView
- android ScrollVIew中嵌套GridView,如何显示GridView
- android ScrollVIew中嵌套GridView,如何显示GridView
- Android ScrollView嵌套GridView导致GridView只显示一行item
- 把.png 图片放到drawable-v21 导致的错误(在API 21 以下的手机运行时)
- 【LVL1_7_c】【思考题】【6】fprintf(),fscanf(),fgets(),以及fputs函数的作用.
- Java反射机制
- 在CocoaPods上创建自己iOS程序的依赖管理
- 常见反调试方法以及特征代码
- android硬件加速(View.LAYER_TYPE_SOFTWARE)与GridView for ScrollView 显示问题
- 程序员生存定律--管理向左,技术向右
- 键盘增加监听,UIButton随键盘位移
- SSL协议和TLS协议
- How to Install PHP intl extension on OS X
- 重定向和转发的区别
- java+SpringMvc——查询数据,以树形结构显示
- ibatis基础知识
- AFNetworking 学习笔记