Я отредактировал оригинальный пост, чтобы включить больше деталей. То, что вы предлагаете, прекрасно работает, но я не могу объединить «реальный» контент (предоставленный пользователем) и контент MyFancyLayout (дополнительные границы ...)

аюсь создатьпользовательское управление Android этосодержит LinearLayout, Вы можете думать об этом как о расширенной LinearLayout с причудливыми границами, фоном, изображением слева ...

Я мог бы делать все это в XML (прекрасно работает), но поскольку в моем приложении десятки вхождений, его становится сложно поддерживать. Я думал, что было бы лучше иметь что-то вроде этого:

/* Main.xml */
<MyFancyLayout>
    <TextView />   /* what goes inside my control's linear layout */
</MyfancyLayout>

Как бы вы подошли к этому? Я бы хотел избежать переписывания всего линейного макета методов onMeasure / onLayout. Вот что я имею на данный момент:

/* MyFancyLayout.xml */
<TableLayout>
    <ImageView />
    <LinearLayout id="container" />   /* where I want the real content to go */
</TableLayout>    

а также

/* MyFancyLayout.java */
public class MyFancyLayout extends LinearLayout
{
    public MyFancyLayout(Context context) {
        super(context);
        View.inflate(context, R.layout.my_fancy_layout, this);
    }
}

Как бы вы вставили указанный пользователем контент (TextView в main.xml) в нужное место (id = container)?

Ура!

Ромен

----- редактировать -------

Все еще не повезло в этом, поэтому я изменил свой дизайн, чтобы использовать более простую компоновку и решил жить с немного повторяющимся XML. Все еще очень заинтересованный в том, кто знает, как сделать это все же!

Ответы на вопрос(4)

Ваш ответ на вопрос