2011-01-12 4 views
4

Я работаю над созданием карточной игры для Android. Я пытаюсь придумать макет, который позволит играть в игру на всех размерах экрана и плотности.Гибкая схема Android для нескольких размеров экрана/плотности

Я прочитал: http://developer.android.com/guide/practices/screens_support.html

Однако, я до сих пор путают на лучший способ сделать это.

Для этой игры мне нужны карты, выложенные в ландшафтном режиме, в 5 колонках. Для дополнительных карт есть места над 5 столбцами. Это очень похоже на пасьянс в этом отношении ... но мне нужно только для 5 столбцов вместо 7.

Какие изображения карт размером должны быть в ldpi, mdpi и hdpi?

Какой тип макета следует использовать (таблица, линейная, относительная)?

Должен ли я создавать разные макеты для разных размеров экрана (маленький, обычный, большой)?

Любые примеры, на которые вы можете указать мне?

+1

Вы также должны прочитать http://developer.android.com/guide/practices/screens_support.html#screen-independence, если вы еще этого не сделали. Для масштабируемых растровых изображений вы, вероятно, захотите использовать ['NinePatch'] (http://developer.android.com/reference/android/graphics/NinePatch.html). –

+0

Он должен вам помочь: http://stackoverflow.com/questions/10853808/something-going-wrong-with-drawbitmap-with-source-and-dest-rectangles/10854647#10854647 – Nolesh

ответ

0

андроид документация имеет большое руководство по этому вопросу:

Supporting Multiple Screens

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

Я новичок в андроиде, поэтому не верьте мне на слово, но, я думаю, вы можете уйти с одним макетом для всех размеров экрана, и я думаю, что RelativeLayout будет работать хорошо (в большинстве случаев) , особенно с чем-то сложным, как карточная игра. В основном я использовал LinearLayouts внутри RelativeLayouts, когда мне хотелось выровнять кнопки/текст по горизонтали.

8

во-первых, извините, мой английский недостаточно. Вы должны разделить свои ресурсы на несколько папок (на основе размера экрана), например, создавать разные макеты из разных ресурсов. Вы можете сделать, как показано ниже:

1.drawable

-drawable-hdpi 

-drawable-mdpi 

-drawable-ldpi 

2.layout

--layout-hdpi 

--layout-mdpi 

--layout-ldpi 

настроить свой ресурс для каждого размера экрана, это делает ваше приложение применимо для многих устройств.

+0

, который создает папку для 720 * 1280 размер стола? – ckpatel

+0

+ 1..i согласен с вашим ответом – ckpatel

+0

do android автоматически выбирает макет? , потому что мои всегда выбрать раскладку по умолчанию, я ХВ пробовал на 3 устройстве (Xiaomi реой 1s, реое примечание, реое примечание 2) добавляющего этот код: андроида: compatibleWidthLimitDp = "720" андроид: requiresSmallestWidthDp = "720" андроид: изменяемого размера = "истинный" андроид: smallScreens = "истинный" андроид: largeScreens = "истинный" андроид: xlargeScreens = "истинный" андроид: normalScreens = "истинный" андроид: anyDensity = "истинный" на манифест также не дают эффекта – neneo

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