Заполнение потеряно с использованием тега с пользовательским составным компонентом

Вот настраиваемый составной компонент , который расширяет RelativeLayout и расширяет конкретный макет из xml:

public class MyCustomView extends RelativeLayout {
    public MyCustomView(Context context, AttributeSet attrs) {
        super(context, attrs);
        LayoutInflater.from(context).inflate(R.layout.my_custom_view, this);
        // ...
    }
}

Макет xml использует тег (удаляет ненужный слой из иерархии представлений, yada yada yada):




    

    
    ...

... и я использую настраиваемый вид в других макетах, например:


Все внутри пользовательский вид выложен безупречно, но 20dip padding должен окружать enti если вещь не применяется . Похоже, что это не сработает, если я помещу его в тег . Конечно, из-за отсутствия прокладки он выглядит ужасно. Где я должен разместить атрибут android: padding = "20dip" , чтобы применить его?

Самым простым может быть расширение моего MyCustomView FrameLayout , и замените тег на - но это принесет в жертву всю вещь «сохранение неглубокой иерархии представлений», которую Ромен Гай так серьезно относится

17
задан Roberto Tyley 12 June 2011 в 12:51
поделиться