Listview或者ExpandableListView以及GridView与ScrollView冲突问题的解决

开发中遇到一个页面显示很多元素的时候,一个界面中除了ListView还有很多UI要展示,尤其是需要列表展示很多条信息的时候,而且可以让界面看起来更舒服一些,考虑ScrollView和Listview应该是一个很好的展示方式。但是,普通的ListView包裹在ScrollView里只能显示一部分,因此我们可以考虑重写ListView来解决这个问题。废话不多说,直接上代码:

 

public class MyListView extends ListView {

 public MyListView(Context context, AttributeSet attrs) {
  super(context, attrs);
 }
 
 /**
  * 重写此方法可以使可展开的列表与ScrollView同时并存 声明:如果是ExpandableListView则继承ExpandableListView就可以了。据此类推,GridView也是同样写法。
  */
  public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {  
   int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,  
     MeasureSpec.AT_MOST);  
   super.onMeasure(widthMeasureSpec, expandSpec);  
  }
 
 
}

剩下的事儿就很简单了,ScrollView和ListView(ExpandableListView和GridView)可以并存了。小弟第一次博客,文字排版简陋,见谅。

你可能感兴趣的:(listview,class,ui)