如何在类似java的childat()中获得android xml laypout文件中定义的所有按钮对象?

如何在类似java的childat()中获得android xml laypout文件中定义的所有按钮对象?,android,android-layout,button,Android,Android Layout,Button,我想在按钮充气高度的基础上设置所有按钮的可拉伸高度。 我可以得到所有像这样的按钮对象 for(int i=0;i<layout.getChildCount();i++) { Button b = layout.childAt(i); b.setHeight(x); } for(int i=0;i我不明白您为什么要这样做,但您可以试试这个 for(int i=0; i < layout.getChildCount(); i++) { View v = layout.getCh

我想在按钮充气高度的基础上设置所有按钮的可拉伸高度。 我可以得到所有像这样的按钮对象

for(int i=0;i<layout.getChildCount();i++)
{
Button b = layout.childAt(i);
b.setHeight(x);
}

for(int i=0;i我不明白您为什么要这样做,但您可以试试这个

for(int i=0; i < layout.getChildCount(); i++)
{
    View v = layout.getChildAt(i);
    if (v instanceof Button) {
        Button b = (Button) v;
        b.setHeight(x);
    }
}
for(int i=0;i
添加了一个新类,扩展了按钮,然后覆盖了方法,无论您想要什么:)

在我的例子中,我覆盖了backbackgrounddrawable()

初始化按钮

......
Button btn1 = (Button) findViewById(R.id.myBtn1);
Button btn2 = (Button) findViewById(R.id.myBtn2);
List<Button> btns = new ArrayList<Button>();
btns.add(btn1);
btns.add(btn2);
......

我可以知道你为什么要这样做吗?正如我上面提到的,图层列表中定义的可绘制背景的位置必须根据按钮的高度进行更改。
......
Button btn1 = (Button) findViewById(R.id.myBtn1);
Button btn2 = (Button) findViewById(R.id.myBtn2);
List<Button> btns = new ArrayList<Button>();
btns.add(btn1);
btns.add(btn2);
......
int i=2;
btns.get(i).setWidth(100);
btns.get(i).setHeight(100);