關於gridview多item選中放大問題。

2021-08-03 15:56:45 字數 993 閱讀 3272

在前幾天開發中遇到乙個問題,就是要求選中放大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...