2013-03-23 30 views
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

的新的TextView呆在

回答

1

我我不確定這是否是正確的方法,但我想在將視圖添加到佈局之前,您必須先撥打setLayoutParams

另一方面,如果您希望確保視圖正確無誤,您可以將其添加到xml中,並設置從代碼觸發其可見性。

UPDATE: AlignRight「使該視圖的右邊緣與給定錨點視圖ID的右邊緣匹配」。這意味着它可以在你的佈局低於目標並且你想對齊它們的邊緣時起作用。你需要使用RIGHT_OF其中「規則,將孩子的左邊緣與另一個孩子的右邊緣對齊」。

+0

好吧我改變了序列,但仍然沒有對齊,我使用'layoutParams.addRule(RelativeLayout.ALIGN_RIGHT,R .id.Btn1Holder); ' –

+0

在你粘貼的代碼中你沒有使用addRule .. – fedepaol

+0

更新的問題 –