3

我有一个主要的线性布局,其中包含动态生成的线性布局。我在 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;
}
4

1 回答 1

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);
}
于 2012-10-04T05:48:21.057 回答