코드상에서 RelativeLayout에 내용을 채우려는데 원하는데로 잘 안돼서 조언을 구합니다 ㅠㅠ
소스코드는 다음과 같이 작성하였습니다.

         RelativeLayout rl = ( RelativeLayout ) findViewById( R.id.PrizeNumbers );
        // 기준점이 되는 EditText
        rl.addView( CommonMethods.setNumberEditText( this, 1 ) );
        for( int i = 1; i < 7; i++ ){
            EditText et = CommonMethods.setNumberEditText( this, i + 1 );
            
            rl.addView( et );
            // EditText간에 간격을 지정
            RelativeLayout.LayoutParams lp = 
                new RelativeLayout.LayoutParams( et.getLayoutParams() );
            lp.addRule( RelativeLayout.RIGHT_OF, i );
            lp.leftMargin = 10;
            et.setLayoutParams( lp );
        }
        TextView tv = new TextView( this );
        tv.setTextSize( 10 );
        tv.setText( "(보너스)" );
        rl.addView( tv );
        // 7번째 EditText 위에 올림
        RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams( tv.getLayoutParams() );
        lp.addRule( RelativeLayout.ABOVE, 7 );
        tv.setLayoutParams( lp );

중간에 나오는 CommonMethods.setNumberEditText() 메소드는 EditText의 속성을 지정해서 생성해주는 메소드인데 2번째 인자가 id입니다.
즉, EditText는 1~7의 id를 갖게 되고 각각 자신의 아이디보다 1 낮은 EditText의 오른쪽에 10 간격을 두고 배치됩니다.
그리고 7번 EditText 위에 "(보너스)"라는 문자열을 출력하기 위해서 TextView를 생성한 뒤에 LayoutParams를 셋팅해줍니다.
이렇게 하면 아래같이 결과가 나옵니다.

1.png

결과를 보니 RelativeLayout에 EditText를 넣으면 레이아웃 높이가 EditText와 같이 지정되고
그 뒤에 TextView가 들어가면 높이는 변하지 않고 억지로(?) 집어넣어져서 위 아래가 잘리는 것 같습니다.
실제 Hierarchy View에서 보면 잘린 것을 확인할 수 있습니다.

 2.png

빨갛게 표시된 것이 RelativeLayout이고 나머지가 안에 들어있는 모습이 나오네요.

그리고 TextView는 엉뚱하게도 1번 EditText 위에 올라갑니다 ㅠㅠ

정리하면 지금 제가 해결하지 못하고 있는 문제는

1. RelativeLayout에 위젯을 집어넣었을 때 높이가 변하지 않음
2. TextView가 정확한 위치에 올라가지 않음

이렇게 두가지 입니다. 조언을 부탁드리겠습니다.