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