android listView嵌套gridview的使用心得

在開發的過程當中可能須要用到listview嵌套gridview的場景,可是在android中,不能在一個擁有Scrollbar的組件中嵌入另外一個擁有Scrollbar的組件,由於這不科學,會混淆滑動事件,致使只顯示一到兩行數據。那麼就換一種思路,首先讓子控件的內容所有顯示出來,禁用了它的滾動。若是超過了父控件的範圍則顯示父控件的scrollbar滾動顯示內容,思路是這樣,一下是代碼。
具體的方法是自定義GridView組件,繼承自GridView。重載onMeasure方法:
 
Java代碼  
java

public class MyGridView extends GridView  
{  
    public MyGridView(android.content.Context context,  
            android.util.AttributeSet attrs)  
    {  
        super(context, attrs);  
    }  

  /** 
     * 設置不滾動 
     */  
    public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)  
    {  
        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,  
                MeasureSpec.AT_MOST);  
        super.onMeasure(widthMeasureSpec, expandSpec);  
  
    }  
  
}

其中onMeasure函數決定了組件顯示的高度與寬度;
makeMeasureSpec函數中第一個函數決定佈局空間的大小,第二個參數是佈局模式
MeasureSpec.AT_MOST的意思就是子控件須要多大的控件就擴展到多大的空間
一樣的道理,ListView也適用 android

相關文章
相關標籤/搜索