Надеюсь, этот код поможет вам программно реализовать относительное расположение
RelativeLayout.LayoutParams expandLayoutParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
expandLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
expandLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
expandLayoutParams.topMargin=7;
expandLayoutParams.rightMargin=7;
expandButton.setLayoutParams(expandLayoutParams);
Еще одна вещь.Код, который вы положили, я не думаю, что представляет интерфейс, который вы хотите реализовать.Чтобы сделать то, что вы хотите, я думаю, что лучше использовать linearlayout с ориентацией, равной горизонтальной, и все кнопки с layout_width = 0dip и layout_weight = 1