计算布局中的可见元素

时间:2013-09-10 16:10:44

标签: android android-linearlayout

假设在我的LinearLayout(比如parentLayout)中有另外5个LinearLayouts(比如childLayout),其中只有其中一个可见。其他布局依赖于某些外部事件以使其可见。如何计算parentLayout中可见的childLayout数量?

2 个答案:

答案 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;
}
相关问题