Android: включить xml в другой xml

Как включить данные xml в другие данные xml?

У меня есть XML-файл заголовка для моего приложения, который я хочу использовать в своих специальных XML-файлах с другим контентом. Есть ли способы включить заголовок в мой контент?


person Xetoxyc    schedule 10.06.2011    source источник


Ответы (3)


использовать включить тег

<?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>
person Axel M. Garcia    schedule 10.06.2011
comment
Я не пробовал с RelativeLayout, но должен. Вероятно, вам придется установить в теге include свойства, которые задают, где он должен быть размещен: android:layout_above, android:layout_toLeftOf и т. д. - person Axel M. Garcia; 10.06.2011
comment
это не работает для меня с реальным макетом, может моя ошибка где-то еще плохо опубликовать мой код - person Xetoxyc; 10.06.2011
comment
Я отредактировал ответ, чтобы адаптировать его к случаю RelativeLayout. - person Axel M. Garcia; 10.06.2011
comment
match_parent не разрешен для RelativeLayout - person Xetoxyc; 10.06.2011
comment
Вместо этого используйте fill_parent. Я вставил свой код и работаю с сотами, поэтому я использовал match_parent. Но это должно работать с fill_parent. Поиграйте немного со своим кодом. - person Axel M. Garcia; 10.06.2011
comment
м-м-м, теперь он работает без исключений, но отображает только мой заголовок, а не мой контент... - person Xetoxyc; 10.06.2011
comment
@Tobi немного поиграй со своими макетами. Вы уже знаете, как включить XML в другой XML. Если отображается только ваш заголовок, возможно, вы неправильно устанавливаете атрибуты макета. Это немного сложно в начале, но это вопрос времени. Проверьте атрибуты макета, который вы включаете, атрибуты макета контейнера и поиграйте с относительными атрибутами макета.. и т. д. - person Axel M. Garcia; 10.06.2011

Вы должны объявить свой XML-макет «тело» с помощью тега ‹ 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 >

person PipiBadenas    schedule 10.06.2011

Вы должны использовать тег ‹ include >: Повторное использование макетов с

person woodshy    schedule 10.06.2011