Повторное использование макетов Android - PullRequest
4 голосов
/ 18 февраля 2011

В контексте iphone, когда мы добавляем представление как подпредставление другого представления, все, что происходит с нашим подпредставлением, будет обрабатываться правильно, потому что в xib мы говорим, какой класс будет обрабатывать его действия.Как мы можем добиться этого на Android?Поскольку у нас нет такого рода связи между макетом .xml и классом, который его использует, как мы можем достичь чего-то подобного?

Основная цель, например, состоит в том, чтобы при наличии одного общего заголовка иодин общий нижний колонтитул для всего приложения, мы просто хотим добавить различные виды в «представление содержимого» между верхним и нижним колонтитулом.

1 Ответ

4 голосов
/ 18 февраля 2011

Вы можете использовать макет " включает " функциональность.Это позволяет вам создать файл макета для вашего верхнего и нижнего колонтитула, а затем включить эти макеты в основной макет вашей деятельности.И если вы хотите включить верхний и нижний колонтитулы в несколько действий, и эти макеты содержат некоторые события, которые вы хотите обработать, вы можете создать BaseActivity, который обрабатывает эти события, и затем другие ваши действия расширяют BaseActivity.

Пример псевдокода:

title.xml

<LinearLayout><ImageView/><TextView/></LinearLayout>

footer.xml

<LinearLayout><TextView/><TextView/></LinearLayout>

main.xml

<RelativeLayout>
     <include layout="@layout/title"/>
     <WebView />
     <include layout="@layout/footer"/>
</RelativeLayout>
...