Ответ 1
Вот пример (адаптирован из этого ответа):
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(10, 20, 30, 40);
Button button = new Button(this);
button.setText("some text");
layout.addView(button, params);