我有一个主线性布局,其中包含动态生成的线性布局。我在ACTION_DOWN上设置了这些布局的动画。但是,如果我尝试更改一个布局的边距(顶部或底部),它也会影响其他布局。如何更改一个布局边距而不影响其他布局。
任何帮助都会受到赞赏。
感谢。
修改
public View getLinearView() {
ChildLinearLayout linearLayout = new ChildLinearLayout(context);
LayoutParams layoutParams = new LayoutParams(500, 500);
linearLayout.setLayoutParams(layoutParams);
linearLayout.setBackgroundColor(Color.RED);
layoutParams.setMargins(20, 20, 20, 20);
layoutParams.gravity = Gravity.CENTER_HORIZONTAL;
TextView textView = new TextView(context);
textView.setText("Hello World");
linearLayout.addView(textView);
System.out.println("View Added");
views.add(linearLayout);
return linearLayout;
}
答案 0 :(得分:0)
我想,因为你在打电话
layoutParams.setMargins(20, 20, 20, 20)
对于每个动态生成的布局,如果更改这些值,则会影响每个动态生成的布局。
相反,你可以改变你的
getLinearView() method to getLinearView(int margin_value)
每次为动态生成的布局调用此方法时,都可以为该特定布局传入所需的值。
例如: 如果我有5个布局,并且我想将第一个的边距设置为50,而将其他边距设置为20,那么
for(int i=0;i<5;i++)
{
if(i==0)
view=getLinearView(50);
else
view=getLinearView(20);
}