#android #xml #android-xml
#Android #xml #android-xml
Вопрос:
Как включить xml-данные в другие XML-данные?
У меня есть XML-файл заголовка для моего приложения, который я хочу использовать в своих специальных XML-файлах другого контента. Есть ли способы включить заголовок в мой контент?
Ответ №1:
используйте тег include
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<!-- Header -->
<include
android:id="@ id/container_header_lyt"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_above=...
android:layout_toLeftOf=...
layout="@layout/header_logo_lyt" //Name of the xml layout file you want to include
/>
...
</RelativeLayout>
Комментарии:
1. Я не пробовал с RelativeLayout, но это должно быть. Возможно, вам придется установить в теге include свойства, которые определяют, где он должен быть размещен: android:layout_above, android:layout_tolefto и т.д…
2. у меня это не работает с реальным макетом, возможно, моя ошибка где-то в другом месте, я опубликую свой код
3. Я отредактировал ответ, чтобы адаптировать его к случаю RelativeLayout
4. match_parent не разрешен для RelativeLayout
5. Вместо этого используйте fill_parent. Я вставил свой код и работаю с honeycomb, вот почему я использовал match_parent. Но это должно работать с fill_parent. Поиграйте немного со своим кодом.
Ответ №2:
Вы должны объявить свой XML-макет «body» с тегом < merge>, чтобы использовать тег < include> в вашем основном макете.
<?xml version="1.0" encoding="utf-8"?>
<merge>
<ImageView android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="center"
android:src="@drawable/image" / >
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|bottom"
android:background="#AA000000"
android:textColor="#ffffffff"
android:text="Some Text" / >
</merge>
Это содержимое вашего тега < include>
Ответ №3:
Вы должны использовать тег < include>: Повторное использование макетов с