2013-06-25 3 views
0

Я RelativeLayout создан в layout/activity.xmlСоздать ячейку в RelativeLayout площади

И я хочу, чтобы добавить некоторые элементы там программно следующим образом:

RelativeLayout rlayout = (RelativeLayout) findViewById(R.id.relativeLayout1); 
RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
rlayout.addView(CustomView,p); 

И это работает, но элементы, которые были добавлены Безразлично» t заполнить все представления, но мне это нужно.

, а также я хочу добавить такие элементы в квадрат (ширина = высота), как я могу это сделать?

ответ

0

Чтобы заполнить все поля Используйте LayoutParams.MATCH_PARENT вместо LayoutParams.WRAP_CONTENT. Чтобы сделать макет квадратного просто создать int width,height = 300;, а затем:

RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(width, height); 

или передать LayoutParams.WRAP_CONTENT в RelativeLayout.LayoutParams и изменить высоту и ширину пользовательского вида.

Для просмотра площадь:

Button customView = new Button(this); 
    customView.setLayoutParams(new RelativeLayout.LayoutParams(200, 200)); 

    RelativeLayout rlayout = (RelativeLayout) findViewById(R.id.relativeLayout1); 
    rlayout.addView(customView); 

сделать заполнить на все смотреть вы можете использовать это:

Button customView = new Button(this); 
    customView.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 

    RelativeLayout rlayout = (RelativeLayout) findViewById(R.id.relativeLayout1); 
    rlayout.addView(customView); 

Также вы можете добавить правила для элементов макета, как это:

 p.addRule(RelativeLayout.ALIGN_PARENT_LEFT); 

С наилучшими пожеланиями.