我有一个以编程方式创建的LinearLayout,并且我已在此布局中放置按钮以充当手风琴。当点击时,它们展开以显示,并且它们工作正常。
我使用9补丁图像添加每个手风琴图像所需的底部边框和箭头/三角形。我想要做的是翻转箭头(使用另外9个补丁图像)并将之前选择的项目返回到另一个箭头/三角形。
我有第一个工作:触摸时翻转箭头。我只是将新图像应用到被点按的按钮上。
我无法弄清楚如何告诉其他项目。我的计划是针对所有按钮,应用"未打开的"箭头,然后应用"翻转"箭头指向按钮。
我尝试使用:
for(int x=0;x<accordionMenu.getChildCount();x++){
accordionMenu.getChildAt(x).setBackground(accordStyle);
}
但这也是针对手风琴内的物品,而不仅仅是按钮。
如何定位所有按钮,只有按钮才能应用&#34;未打开的&#34;箭头在定位点击按钮之前应用&#34;翻转&#34;箭头?
答案 0 :(得分:0)
在应用背景颜色之前,使用instanceof
检查视图是按钮或其他视图:
for(int x=0;x<accordionMenu.getChildCount();x++){
View view = accordionMenu.getChildAt(i);
if (view instanceof Button) {
view.setBackground(accordStyle);
}
}