Я сталкиваюсь со все большим количеством android-устройств с нерегулярным расположением, особенно в разделе HDPI.
Проблема в том, что мои более сложные макеты не масштабируются правильно, хотя я использую только значения DIP в моих макетах xml.Анимации особенно проблематичны, так как я использую значения с плавающей точкой в коде * 1003. *
Например, у меня будет телефон с разрешением 240 точек на дюйм с 3,7-дюймовым экраном и стандартным разрешением Android.Я могу сделать HDPI и большие макеты для этого устройства и сделать так, чтобы они идеально подходили под любой дизайн и эстетику.
Тогда у меня телефон с диагональю 4,2 дюйма, но его вертикальное разрешение по-прежнему меньше, чем у XHDPI или XLARGE.Если вы спросите устройство, каково его DPI, оно также выдаст 240 dpi.К сожалению, из-за разного соотношения сторон, разного размера экрана и разного разрешения мои макеты неправильно масштабируются.Также нет способа создать отдельную папку с макетом, потому что устройство ДУМАЕТ, что это макет большого размера и hdpi, потому что просто сообщает об этом неправильно.(Оба EVO, несколько других «длинных» телефонов). Читая документацию для Android, кажется, что вы можете использовать layout-long-large
и какую-то другую комбинацию, но сам телефон все еще думает, что это только большой макет.квалификатор long
работает в устройствах, которые сообщают правильную информацию о себе.
Как люди справляются с этим с помощью платформы Android, не делая это в коде.Это было бы очень утомительным занятием для меня, и у меня есть вопросы о том, как динамически я могу это сделать, если аппаратное обеспечение сообщает всю информацию о себе неправильно.
Понимание ценится.