Android S3 макет против Galaxy Nexus макет

Я разработал приложение, которое должно было ориентироваться как на Galaxy Nexus, так и на Galaxy S3. Оба имеют разрешение экрана 720 x 1280, и я использовал только значения "dp" в своем приложении. Ресурсы существуют в папках layout-xhdpi и drawable-xhdpi. Макет отлично смотрится на Nexus, но значения отступов (в dp) немного не соответствуют S3. Я предполагаю это из-за большего размера экрана на S3 и разницы в плотности.

Как я могу создать отдельную папку для Nexus и S3, чтобы я мог учитывать разные размеры экрана?

4 ответа

Используйте эту схему:

Для одинакового макета ландшафта и портрета layout-sw360dp

Только для ландшафтного макета-sw360dp-land

Только для книжного макета-sw360dp-port

Я пытаюсь сказать, что вы можете использовать перед классификацией создание папок с именами тезисов. Расположенная в нем раскладка загружена в Galaxy S3 - WXGA720. Это способ искажения макета для этого типа устройства. Это необходимый Android 4.0+.

Я использую sw360dp-long который система будет использовать для GS3, и я использую sw360dp для галактики нексус.

Nexus 4: используйте sw384dp (768x1280)

Samsung S3: используйте sw360dp (720x1280)

Следует отметить, что оба они попадают в ведро sw360dp, но некоторым разработчикам может потребоваться сделать пиксель идеальным, поэтому может потребоваться папка 384, но этого следует избегать, если вы можете создать более гибкую компоновку с использованием LinearLayout и "weight" вместо жесткого кодирования дп единиц.

Вы можете получить модель устройства и можете установить макет.

Как следует, вы можете получить модель

String phoneModel = android.os.Build.MODEL;
if(phoneModel.equals("ABC")) {
    // SET Ralated Layout
} else if(phoneModel.equals("XYZ")) {
    // SET Ralated Layout
}
Другие вопросы по тегам