动态对齐视图查看?

时间:2013-03-23 08:36:35

标签: android layout view alignment

我想在动态添加视图时执行类似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

1 个答案:

答案 0 :(得分:1)

我不确定这是正确的方法,但我想在将视图添加到布局之前必须先调用setLayoutParams

另一方面,如果你想确保在那里有视图,你可以将它添加到你的xml并设置触发它从代码中的可见性。

更新: AlignRight“使此视图的右边缘与给定锚点视图ID的右边缘匹配。”这意味着如果您的布局位于目标下并且您想要对齐它们的边缘,它就可以工作。你需要使用RIGHT_OF“将孩子的左边缘与另一个孩子的右边缘对齐的规则。”