假设在我的LinearLayout
(比如 parentLayout)中还有 5 个其他LinearLayouts
(比如 childLayout),目前只有其中一个是可见的。其他布局依赖于一些外部事件来使它们可见。如何计算 parentLayout 中可见的 childLayout 的数量?
问问题
2690 次
2 回答
11
您可以遍历父布局的子级并检查它们的可见性。像这样的东西:
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);
于 2013-09-10T16:18:06.170 回答
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;
}
于 2013-09-10T16:18:46.783 回答