android实现无滚轮(ScrollView)的listview 和gridview
2015-10-10 11:30
561 查看
在项目开发中,布局的嵌套是比不可少的,前一段做了类似朋友圈的布局。在使用gridview和listview时发现只可以加载一行数据,其实原因是listview和gridview有滚轮 你只需要滑动滚轮就好,但是我最外层的布局也是一个listview所有不可能监听里面的滑动事件。解决办法就是自定义listview和gridview,去掉滚轮(scroolview即可)
实现后的图片如下
代码如下NoScrollListView
public class NoScrollListView extends ListView {
public NoScrollListView(Context context) {
super(context);
}
public NoScrollListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public NoScrollListView(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 >> 2,MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
NoScrollGridView
public class NoScrollGridView extends GridView {
public NoScrollGridView(Context context) {
super(context);
}
public NoScrollGridView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
实现后的图片如下
代码如下NoScrollListView
public class NoScrollListView extends ListView {
public NoScrollListView(Context context) {
super(context);
}
public NoScrollListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public NoScrollListView(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 >> 2,MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
NoScrollGridView
public class NoScrollGridView extends GridView {
public NoScrollGridView(Context context) {
super(context);
}
public NoScrollGridView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
相关文章推荐
- android ndk Android.mk
- Android社会化组件-分享实现
- the android virtual Device AVD2.3.3 is currently running in an emulator and cannot be deleted.
- Android下加载GIF图片
- 对于android拦截短信的一些疑问
- Android 利用精简Zxing实现条形码/二维码 扫描
- android之interpolator的用法详解
- Android启动线程的几种方法
- Android Wifi获取组播
- Android - 应用程序的生命周期
- 倍数提高工作效率的Android Studio奇技
- android 自定义通知
- Android解析xml文件
- android 修改主题背景色
- Android listview checkbox 再次进入activity 保留checkbox状态
- Android开发最佳实践《IT蓝豹》
- android基于百度云消息推送通知集成
- Android Service完全解析
- Android 控制EditText输入为英文或数字
- Android 拦截onClick事件