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
}