Различный графический интерфейс для телефона и планшета, но одно и то же приложение - PullRequest
4 голосов
/ 17 сентября 2011

Я должен написать приложение для планшета и для телефонов тоже. Два приложения имеют одинаковую функциональность, но они имеют абсолютно разные графические интерфейсы.

Например, у телефона есть 2 кнопки на главном экране, но у планшета будет 5, потому что мы хотели бы использовать пространство, которое у нас есть. Я знаю, что могу определять разные макеты, зависит от dpi, но как мне обращаться с макетами в Activiies? Я думаю, использование if (sdkVersion> = 11) bla..bla ... is не будет работать через код дыры и проект дыры! Это ситуация, когда мне приходится использовать поддержку нескольких приложений?

прочитанные статьи: http://developer.android.com/guide/practices/screens_support.html

http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources

http://developer.android.com/guide/market/publishing/multiple-apks.html

Я не понимаю, как мне решить эту проблему ... пожалуйста, если вы можете помочь, спасибо

1 Ответ

5 голосов
/ 17 сентября 2011

Поместите макеты планшета в res/layout-large/. Положите макеты вашего телефона в res/layout/. Назовите их так же. Ваши действия будут загружать правильные на основе устройства, на котором они работают. Когда вы звоните findViewById(), чтобы получить дополнительные кнопки, и видите, что вы получаете null, игнорируйте их.

Вам могут понадобиться дополнительные макеты в таких местах, как res/layout-large-land/ (альбомная ориентация для планшетов), res/layout-xlarge/ (если вы хотите работать с планшетами размером 10+ ", отличными от материалов в диапазоне 5-9"), res/layout-small/ (если Вы хотите работать с <3 "экранами) и т. д. </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...