public static void addRippleToView(View v)
{
ViewGroup parent = (ViewGroup)v.getParent();
int index = -1;
if(parent != null)
{
index = parent.indexOfChild(v);
parent.removeView(v);
}
RippleViewCreator rippleViewCreator = new RippleViewCreator(v.getContext());
rippleViewCreator.setLayoutParams(v.getLayoutParams());
if(index == -1)
parent.addView(rippleViewCreator, index);
else
parent.addView(rippleViewCreator);
rippleViewCreator.addView(v);
}
在試圖理解上面的代碼時,我遇到了一些問題,這些問題使我很難理解。什麼是視圖索引,當視圖組添加視圖到索引時會發生什麼-1
1)我不太確定通過調用parent.indexOfChild(v)
得到的視圖索引究竟是什麼?
2)此外,我已經注意到parent.addView(rippleViewCreator,index);
當視圖的索引是-1並且視圖添加到父項時會發生什麼?
嘿感謝您的回答,答案非常明確。不過,我對Android和Java很陌生,所以你可以向我解釋什麼是mChildrenCount? – Wowzer
它只是ViewGroup的一個內部成員,它計數數組中的實數。數組的長度和視圖數量有所不同 – Blackbelt
所以,爲了驗證,當我傳入-1時,viewgroup將其數組大小調整爲包含視圖並將新索引關聯到該視圖? – Wowzer