0

动态添加视图时,我想做类似 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);
}});

结果应该对齐新的文本视图保持在 Btn1Holder 的右侧

4

1 回答 1

1

我不确定这是正确的方法,但我想您必须先调用setLayoutParams,然后才能将视图添加到布局中。

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

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

于 2013-03-23T08:43:50.220 回答