解决ScrollView嵌套ListView和GridView冲突的方法
2024-10-13 19:34:30
本文摘抄自:http://blog.csdn.net/yuhailong626/article/details/20639217
原文地址:http://blog.csdn.net/yuhailong626/article/details/20639217
public class MyListView extends ListView {
public MyListView(Context context) {
super(context);
}
public MyListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> ,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
} public class MyGridView extends GridView {
private boolean haveScrollbar = true;
public MyGridView(Context context) {
super(context);
}
public MyGridView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyGridView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
/**
* 设置是否有ScrollBar,当要在ScollView中显示时,应当设置为false。 默认为 true
*
* @param haveScrollbars
*/
public void setHaveScrollbar(boolean haveScrollbar) {
this.haveScrollbar = haveScrollbar;
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
if (haveScrollbars == false) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> , MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
} else {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
}
}
最新文章
- Java的泛型反射
- JMS
- python 入门学习之环境搭载
- 【温故Delphi】之VCL消息机制小结
- c++命名规则
- android学习笔记20——ProgressDialog进度条对话框
- UML状态图(转载)
- 【nodejs】json value出现 undefined 将会无法解析 问题来了
- MySQL性能优化的最佳20+条经验(转)
- IDEA14下配置SVN
- mybatis常用jdbcType数据类型
- 搜集朋友写的几篇Android Elf相关的文档
- Google Dremel 原理 - 如何能3秒分析1PB
- Spring学习(17)--- 三种装配Bean方式比较
- 剑指offer试题(PHP篇四)
- 深度学习之自编码器AutoEncoder
- vue同一页面中拥有两个表单时,验证问题
- grails2.3.3发布了-【grails】
- jvm理论-运行时数据区
- js 对象转&;拼接