2010-03-08 3 views
12

Я хочу создать отдельные папки для своих макетов, как это в моем каталоге ресурсов:Как создать папку макета?

layout-land 
layout-port 

это нормально, но это:

layout-small-land 
layout-small-port 

или

layout-land-small 
layout-port-small 

Результаты в : 'Недопустимое имя каталога ресурсов'

Что дает?

ответ

5

layout-small-land и layout-small-port являются правильными ответами, и они компилировать очень хорошо для меня. Возможно, в вашей структуре каталогов есть что-то еще.

+1

Оказывается, мое приложение предназначалось для 1.5 вместо 1.6. Как только я сменил цель, она скомпилирована. Спасибо за разъяснение, что имена папок должны были работать для меня. – codedeziner

+0

Ах, да, суффиксы '-small' и' -large' не отображались до 1.6. – CommonsWare

5

Вы можете указать плотность экрана вместо размера, как Большой или Малый

Пример:

layout-port-hdpi 
layout-port-ldpi 
layout-port-mdpi 
layout-port-nodpi 

layout-land-hdpi 
layout-land-ldpi 
layout-land-mdpi 
layout-land-nodpi 

Более подробную информацию по следующей ссылке:

https://developer.android.com/guide/topics/resources/resources-i18n.html#AlternateResources

Для использования Большой , Средний, Малый это путь:

res/layout/my_layout.xml   // layout for normal screen size 
res/layout-small/my_layout.xml  // layout for small screen size 
res/layout-large/my_layout.xml  // layout for large screen size 
res/layout-large-land/my_layout.xml // layout for large screen size in landscape mode 
+0

, тогда почему существуют варианты ориентации экрана small/normal/large? BTW, моя цель - 1.6 – codedeziner

+0

'big' и' small' являются действительными суффиксами набора ресурсов. См. Третью строку (после заголовков) таблицы 2 на странице, с которой вы ссылались выше. – CommonsWare

+0

отредактировал мой ответ там, все они являются действительными способами использования больших или маленьких и т. Д. В имени папки –

0

Я не нашел в Интернете ничего, что ссылается на эту структуру, но следующее сообщение в блоге показывает пример, когда автор использует ldpi (и я уверен, что mdpi и hdpi) вместо маленьких, нормальных и больших (как предлагали онлайн-ссылки для Android). Посмотрите на ссылку ниже, и, возможно, попробовать эту структуру:

http://android.amberfog.com/?p=276

+0

На половине страницы здесь: http://developer.android.com/guide/practices/screens_support.html Существует пример с использованием макета-большой земли.Учитывая небольшие/нормальные/большие и порты/земли - это варианты, мне интересно, почему я не могу их использовать. – codedeziner

1

Он предоставит вам "invalid resource error", пока папка не будет пуста. Если вы заполните его .xml файлами (они должны совпадать точно в каждой папке layout-<qualifier>), это не дает вам никакой ошибки.

EG:

расположение портов

-> mainscreen.xml

макета большой порт

-> mainscreen.xml

это нормально

Смежные вопросы