/** 获取 activity中的所有view */
public static List<View> Childs(Activity act)
{
View activityRoot = act.getWindow().getDecorView();
List<View> list = Childs(activityRoot, false);
return list;
}
/** 获取当前View的所有子view */
public static List<View> Childs(View view, boolean ContainsThis)
{
List<View> viewList = new ArrayList<View>();
if (!viewList.contains(view)) viewList.add(view);
if (view instanceof ViewGroup)
{
ViewGroup group = (ViewGroup) view;
for (int i = 0; i < group.getChildCount(); i++)
{
View child = group.getChildAt(i);
if (!viewList.contains(child)) viewList.add(child);
// 添加child的子节点
List<View> subList = Childs(child, true);
for (View v : subList)
{
if (!viewList.contains(v)) viewList.addAll(subList);
}
}
}
if (!ContainsThis) viewList.remove(view);
return viewList;
}