假设在我的LinearLayout
(比如parentLayout)中有另外5个LinearLayouts
(比如childLayout),其中只有其中一个可见。其他布局依赖于某些外部事件以使其可见。如何计算parentLayout中可见的childLayout数量?
答案 0 :(得分:10)
您可以迭代父布局的子项并检查其可见性。像这样:
LinearLaout parent = ...;
int childCount = parent.getChildCount();
int count = 0;
for(int i = 0; i < childCount; i++) {
if(parent.getChildAt(i).getVisibility() == View.VISIBLE) {
count++;
}
}
System.out.println("Visible children: " + count);
答案 1 :(得分:2)
这是一个返回ViewGroup中可见子项数的函数,如LinearLayout,RelativeLayout,ScrollView,.. etc
private int countVisible(ViewGroup myLayout)
{
if(myLayout==null) return 0;
int count = 0;
for(int i=0;i<myLayout.getChildCount();i++)
{
if(myLayout.getChildAt(i).getVisibility()==View.VISIBLE)
count++;
}
return count;
}