假设您有衬砌布局,上面有很多子类,如文本视图和复选框以及...。我如何在线性布局的所有子级上设置诸如setAlpha或setClickable或...之类的属性。我可以通过找到每个具有findViewById的孩子然后设置属性来做到这一点,但是我在linerlayout中有很多孩子
最佳答案
递归地迭代所有子项,检查视图是否为ViewGroup
的实例(即包含其他子项):
public void setAlpha(View view, float alpha){
if (view instanceof ViewGroup){
ViewGroup viewgroup = (ViewGroup)view;
int count = viewgroup.getChildCount();
for (int i=0; i < count; i++){
View viewNext = viewgroup.getChildAt(i);
setAlpha(viewNext, alpha);
}
}
else {
view.setAlpha(alpha);
}
}
并将其应用于您的布局:
setAlpha(findViewById(R.id.your_layout), alpha);
关于android - 如何在 subview 组android上设置属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23083165/