我想在动态添加视图时执行类似XML attr的操作:
android:layout_alignRight="@+id/myView1">
我的活动代码:
button1.setOnClickListener(new View.OnClickListener(){
@Override public void onClick(View v) {
RelativeLayout ll = (RelativeLayout)findViewById(R.id.aincrad);
TextView view = new TextView(Activity.this);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams
(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
layoutParams.addRule(RelativeLayout.ALIGN_RIGHT,R.id.Btn1Holder);
view.setText("testing...");
view.setLayoutParams(layoutParams);
ll.addView(view, layoutParams);
}});
结果应该与新的textview保持对齐Btn1Holder
答案 0 :(得分:1)
我不确定这是正确的方法,但我想在将视图添加到布局之前必须先调用setLayoutParams
。
另一方面,如果你想确保在那里有视图,你可以将它添加到你的xml并设置触发它从代码中的可见性。
更新: AlignRight“使此视图的右边缘与给定锚点视图ID的右边缘匹配。”这意味着如果您的布局位于目标下并且您想要对齐它们的边缘,它就可以工作。你需要使用RIGHT_OF“将孩子的左边缘与另一个孩子的右边缘对齐的规则。”