在前幾天開發中遇到乙個問題,就是要求選中放大gridview的item。然後就開始重寫gridview ,發現按照一般的做法會發現空指標異常的現象。以下是我一開始做的方法:
@override
protected int getchilddrawingorder(int childcount, int i)
}return i;
}
重寫gridview,的繪製順序,把選中的item和最後乙個繪製的item調換一下順序。
public void setscaleanimation(view view,int position)
scaleanimation scaleanimation;
if (position % 4 == 3)else
scaleanimation.setduration(500);
animationset.addanimation(scaleanimation);
animationset.setfillafter(true);
view.startanimation(animationset);
manimationset = animationset;
}
上面是放大動畫,最基礎的動畫。
當item多的時候會報錯,因為position一直增加,而childcount是可見的數目,當所有的item都是可見的時候將不會出錯。所有要修改一下**。修改為以上的**就不出錯了
@override
protected int getchilddrawingorder(int childcount, int i)
if (i == childcount - 1)
} return i;
}
以上的**就是兼顧可見可不見的條目,這時候就適配左右的不管多或少的item報空指標異常問題。
關於gridview控制項
1 e.row.rowtype datacontrolrowtype.datarow的意思 e.row.rowtype 是指當前行的型別 datacontrolrowtype 是gridview的行的型別集合 其中的datarow是資料繫結行 這個判斷語句的意思就是判斷當前行是不是資料繫結行 2這個...
GridView實現多標頭
1 建立乙個類,public class multtitle title 為乙個自定義的titles類陣列,其有兩個屬性,乙個為span 要合併的列數 乙個是text 單元格中內容。關於titles類請自己定義,很容易的。public static void createtitle object s...
GridView合併多行多列
1 2 和並列3 4 要合併的gridview 5 開始列的索引 6 結束列的索引 7 是否合併表頭,預設不合併 8 public static void mergecolumn gridview gv,int startcol,int endcol,bool containheader false...