Android 调整线性布局的宽度

Android 调整线性布局的宽度,android,Android,我有一个动态添加行的布局。每行由一个TextView和一个EditText组成。现在EditText的文本是在运行时设置的,所以我希望它们都像inout表单一样整齐地对齐,其中文本字段在左侧,EditText在右侧 这是我的密码 for (int i = 0; i < itemsContainer.getChildCount(); i++) { View v=itemsContainer.getChildAt(i); if(v instanceof

我有一个动态添加行的布局。每行由一个TextView和一个EditText组成。现在EditText的文本是在运行时设置的,所以我希望它们都像inout表单一样整齐地对齐,其中文本字段在左侧,EditText在右侧

这是我的密码

for (int i = 0; i < itemsContainer.getChildCount(); i++) 
    {
        View v=itemsContainer.getChildAt(i);
        if(v instanceof ClickableButtonView)
        {
            TextView textView=((ClickableButtonView)v).getItem();
            if(textView.getWidth() > width)
            {
                width=textView.getWidth();
            }
        }

    }

    for (int i = 0; i < itemsContainer.getChildCount(); i++) 
    {
        View v=itemsContainer.getChildAt(i);
        if(v instanceof ClickableButtonView)
        {
            TextView textView=((ClickableButtonView)v).getItem();
            textView.setLayoutParams(new LayoutParams(width, LayoutParams.WRAP_CONTENT));
        }

    }
for(int i=0;i宽度)
{
width=textView.getWidth();
}
}
}
对于(int i=0;i

现在发生的是我的布局,文本视图折叠,只有右边的元素占据了整个空间。我想迭代LinerYout,找到占据最多空间的edittext,并将所有edittext设置为占据完全相同的空间。这能做到吗

在循环中调用此方法,以设置具有所需权重的文本视图的样式。给所有的权重1将使其相等

private void setStyle(TextView textView, float weight) {
    textView.setSingleLine(false);
    textView.setWidth(0);
    textView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
            LayoutParams.WRAP_CONTENT, weight));
    textView.setPadding(8, 0, 8, 0);
    textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
}

我试过这个。它确实使所有编辑文本的宽度相等,但它会使文本向上收缩。如何更改它以使每个文本视图等于最宽的文本视图?无法测量最宽的文本视图,但您可以调整填充,如果您不希望文本换行而希望文本剪切,则删除单行设置或将其设置为真。谢谢我摆弄了函数abit,它可以工作。非常感谢你的帮助。