服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - Android编程开发之ScrollView嵌套GridView的方法

Android编程开发之ScrollView嵌套GridView的方法

2021-04-28 15:07chenguang79 Android

这篇文章主要介绍了Android编程开发之ScrollView嵌套GridView的方法,结合实例分析了ScrollView嵌套GridView的相关注意事项与处理技巧,需要的朋友可以参考下

本文实例讲述了Android编程开发之ScrollView嵌套GridView的方法。分享给大家供大家参考,具体如下:

前些日子在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全,为了解决这个问题查了N多资料,某个谷歌的官方回复竟然是GridView不需要ScrollView,那个牛气冲天啊,可是爷偏偏用到了肿么办呢?!又继续查,神马重写控件重写类的,那代码一坨坨的有木有!!!最后,还是在某人一句很隐晦的提示下得到灵感最终实现。

首先是布局

?
1
2
3
4
5
6
<ScrollView>
    ……
  <LinearLayout>
  </LinearLayout>
    ……
</ScrollView>

我们要做的就是自定义一个GridView控件并插入到中间的LinearLayout中

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class MyGridView extends GridView{
public MyGridView(Context context, AttributeSet attrs) {
 super(context, attrs);
}
public MyGridView(Context context) {
 super(context);
}
public MyGridView(Context context, AttributeSet attrs, int defStyle) {
 super(context, attrs, defStyle);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
  int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
   MeasureSpec.AT_MOST);
  super.onMeasure(widthMeasureSpec, expandSpec);
}
}

这个自定义控件只是重写了GridView的onMeasure方法,使其不会出现滚动条,ScrollView嵌套ListView也是同样的道理,不再累述

希望本文所述对大家Android程序设计有所帮助。

延伸 · 阅读

精彩推荐