Я программно добавляю пользовательские виды в вертикальный LinearLayout, и я хотел бы, чтобы между видами было некоторое пространство. Я попытался добавить: setPadding (0, 1, 0, 1) в мой конструктор CustomView, но это, похоже, не имеет никакого эффекта. Любой совет?
* Было указано, что я должен использовать поля. Так как я динамически добавляю представления, мне нужно установить поля из кода (не в xml). Я считаю, что способ сделать это ниже, но он не работает.
public class MyView extends View
{
public MyView (Context context)
{
super(context);
MarginLayoutParams params = new MarginLayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.setMargins(0, 10, 0, 10);
setLayoutParams(params);
* Edit. Я также попытался использовать MarginLayoutParams в качестве параметра при добавлении представлений в линейный макет (как показано ниже). Это также не сработало:
MarginLayoutParams params = new MarginLayoutParams(linearLayout.getLayoutParams());
linearLayout.setMargins(0, 10, 0, 10);
linearLayout.addView(view, params);