我必须以编程方式执行此操作。所以,忍受我。
我有文字和两个按钮,我设置为彼此对齐。所以我为每个实例创建了一个新的RelativeLayout.LayoutParams实例,并添加了一个规则来将它设置在另一个之下。这很有效,我很满意。
我的问题是:为什么我必须创建一个新实例才能让布局以这种方式显示它们?有没有办法减少以下代码,以便它不是那么重复(除了编写我自己的私有方法来干它。我想知道是否有一种方法可以用更少的代码行完成同样的事情我利用的东西可能在Android SDK中被忽略了)?我是否必须继续为每个元素创建一个新的RelativeLayout.LayoutParams实例?
layout = new RelativeLayout(this);
layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
text = new TextView(this);
text.setId(1);
text.setText("This is text");
layout.addView(text);
myButton1 = new Button(this);
myButton1.setId(2)
myButton1.setOnClickListener(this);
RelativeLayout.LayoutParams buttonParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
buttonParams.addRule(RelativeLayout.BELOW, text.getId());
layout.addView(myButton1, buttonParams);
myButton2 = new Button(this);
myButton2.setId(3)
myButton2.setOnClickListener(this);
buttonParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
buttonParams.addRule(RelativeLayout.BELOW, myButton1.getId());
layout.addView(myButton2, buttonParams);