![]() |
|
Модераторы: javastic |
![]()
|
|
| SOFTAR |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 22.4.2008 Репутация: нет Всего: нет |
Привет всем. Есть вопрос по размерам элементов при разработке под планшеты.
Сразу оговорюсь, что разработка ведется с использованием Qt/QML. Рассмотрим такую ситуацию: Есть элемент высотой 200dp, при показе на устройстве 5"(720x1280) его высота будет 400 пикселей (xhdpi). Если берем планшет 10.1"(1280x800), то высота будет 200 пикселей, т.к. плотность medium. Соответственно интерфейс смотрится очень коряво и много пустого места. Теперь вопрос: каким образом правильно посчитать высоту(да и ширину), которая задана в dp на больших экранах, но с небольшой плотностью? С DP единицей все понятно, чтобы получить размер в пикселях просто идет умножение на коэффициент, может для больших экраном тоже какой-то коэффициент есть? Как я понял в SDK все завязано на sw<N>dp и лэйауты, но как это работает? Заранее спасибо. |
|||
|
||||
| Dapo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 18.4.2002 Репутация: 1 Всего: 1 |
Для каждого dp свой лэйаут наверное
|
|||
|
||||
| SOFTAR |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 22.4.2008 Репутация: нет Всего: нет |
Я вчера читал документацию и наткнулся на
![]() За baseline они считают mdpi плотность и normal размер, соответственно к размерам мы можем применить все та же самые коэффициенты: normal - 1, large - 1.5, xlarge - 2. Таким образом, если возьмем планшет 720x1280(вертикальное) с mdpi и 10.1", то получаем: - высота элемента 200dp - коэффициент плотности - 1(mdpi) - коэффициент размера скрина - 2(xlarge) Т.е. 200 * 1 * 2 = 400 пикселей, как нам и нужно. Понятно, что при нативной разработке об этом не нужно парится, но в случае с Qt/QML приходится изобретать собственные велосипеды. Если у кого есть что добавить/исправить - прошу. Спасибо. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Android | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |