2016-03-28 4 views
1

Я разработал идеальный портретный макет. Я хотел бы включить это как часть ландшафтной версии (см. Вложение).Как включить портретный макет в ландшафтном макете?

Layout for Landscape version

Там нет дополнительной функциональности, так что я не вижу необходимости идти на неприятности с использованием фрагментов.

Конечно, нельзя использовать портретную версию макета в альбомной версии. Следующий код создает очевидную ошибку «макеты не должны включать в себя»:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" 
    > 

    <include 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     layout="@layout/my_perfect_layout" 
     /> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:src="@drawable/demo" 
     /> 
</LinearLayout> 

Есть ли способ заставить каталог раскладки, так что я не получаю этого включает бесконечный цикл? Или вообще есть другой способ? Я бы очень хотел избежать изменения кода Java на этом этапе!

ответ

1

Лучшая практика:

  • Поместите макет содержимого в ориентации меньше файла макета. (это часть многократного использования)
  • Создайте файл макета рамки для всех ориентаций, которые вы хотите использовать, и включайте макет содержимого. (это та часть, где вы размещаете детали, специфичные для макета, например, добавьте больше материала в пейзаж)
+0

Создание третьего файла, как вы предложили, трюк. Спасибо за помощь! –