android listView嵌套gridview的使用心得


在開發的過程中可能需要用到listview嵌套gridview的場景,但是在Android中, 不能在一個擁有Scrollbar的組件中嵌入另一個擁有Scrollbar的組件,因為這不科學,會混淆滑動事件,導致只顯示一到兩行數據。那么就換一 種思路,首先讓子控件的內容全部顯示出來,禁用了它的滾動。如果超過了父控件的范圍則顯示父控件的scrollbar滾動顯示內容,思路是這樣,一下是代 碼。
具體的方法是自定義GridView組件,繼承自GridView。重載onMeasure方法:
 
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也適用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM