AIMP Forum

AIMP for Android => Предложения / Suggestions => Отказано / Rejected => Topic started by: Kibermanick on March 31, 2022, 19:46:36

Title: [Отказано] Заменить единицы измерения с пиксилей на dp
Post by: Kibermanick on March 31, 2022, 19:46:36
Добрался я до редактора скинов для мобильной версии и ужаснулся. Я вообще не понимаю каким образом формируется построение объектов, начиная от отношения мастаба к пикселям, и заканчивая параметром плотность пикселей о котором ничего толком не сказано, в каких случаях менять это значение, почему оно по умолчанию на значении 3.

Гугл давно уже унифицировала шаблон формирования интерфейса и любой их дизайн ориентируется на базовый макет с шириной 360 пикселей, а высота варьируется от соотношения сторон дисплея 16:9 2:1 или 21:9, и сеткой размером 8, это условно макет с плотностью 72 пикс/дюйм. Можете сами проверить сделав скриншот экрана и уменьшить изображение до ширены 360 и наложив сетку 8х8 увидите что элементы выстраиваются относительно ее.

Столкнулся я с ситуацией когда мне надо задать отступы но абсолютно не понятно с какого потолка брать значение так как все что я вписывал не давала результата, при шаблоне отображения по умолчанию при 50% мастабе ширена шаблона соответствует 360 (почему то, я вообще не понимаю с чего) и казалась бы некоторое соответствие наметилось но вписывая значения отступа 32 пикселя редактор отображает отступ в 28 пикселей все при тех же 50% мастаба, а еще как бы я не старался задать каверу квадратный размер он все ровно прямоугольный растянутый немного по горизонтале.

В общем к чему я, качество скина зависит от размера текстур но для отображения макета их можно просто вписать для просмотра, как оно и делаеться скорее всего если экран изначально имеет меньшее разрешение чем скин предполагал при создании и текстуры в любом случае подгоняються уменьшаються для отображения на экране. А для создания скина нужен базовый макет и соотношение сторон, а не эти вот нексусы гэлакси или что там еще есть. а условное разрешение экрана предполагаемое исходит уже из размера текстур которые и будут в итоге подгоняться под различные разрешения.
Title: Re: Заменить единицы измерения с пиксилей на dp.
Post by: AKhod on March 31, 2022, 20:12:10
3×360=1080 пикселей ширина.
У обложки три вида отображения
keepSquareAspectRatio=0 будет квадрат. Размеры элеметов можно еще и в процентах задавать.
Title: Re: Заменить единицы измерения с пиксилей на dp.
Post by: Kibermanick on March 31, 2022, 20:17:47
3×360=1080 пикселей ширина.

Это конечно здорово но мало чего дает. Предполагаю что все мои значения надо умножать на 3 да? вместо того что бы ориентироваться на dp где значения всегда одинаковы вне зависимости от плотности.

У обложки три вида отображения
keepSquareAspectRatio=0 будет квадрат. Размеры элеметов можно еще и в процентах задавать.

А толку? Сам макет не слушается, конечно можно в него задать квадрат кавера но, один фиг сами границы объекта не делаются квадратом.
Title: Re: Заменить единицы измерения с пиксилей на dp.
Post by: AKhod on March 31, 2022, 20:28:55
Исходите из того, что ширина поля 1080 и выбирайте размер элемента в пикселях.
Я вообще скины на телефоне делаю и как то разобрался сам. Что не понятно было, спрашивал.
Title: Re: Заменить единицы измерения с пиксилей на dp.
Post by: Artem on April 01, 2022, 10:03:11
В редакторе скинов для мобильной версии все величины как раз-таки в dp, и они конвертируются в px на лету при рендеринге.
Title: Re: [Отказано] Заменить единицы измерения с пиксилей на dp
Post by: Artem on April 01, 2022, 10:04:57
А для создания скина нужен базовый макет и соотношение сторон

Хорошо, какой макет сделать? Какие у него должны быть характеристики?
Title: Re: Заменить единицы измерения с пиксилей на dp.
Post by: Kibermanick on April 04, 2022, 22:34:01
В редакторе скинов для мобильной версии все величины как раз-таки в dp, и они конвертируются в px на лету при рендеринге.

Нифига не понимаю, оно работает не как дп. И что с масштабом, почему при выборе нексуса с 1920х1080 при 100% отображается макет с шириной 720 вместо 1080? Да и при смене на 480х800 оно все ровно отображаеться как 720 Как вообще ориентироваться со значениями? Если рассматривать что 360*3=1080 то следует что мои значения надо умножать на три но нифига это не работает.

Хорошо, какой макет сделать? Какие у него должны быть характеристики?

Проблема в отображении размера в редакторе на обычном мониторе где расчет дп не нужен, лучше всего взять для отображения условие что 1dp=1px. А на счет создания базового макета он должен иметь ширину в 360дп а высоту 640дп и возможность изменять просмотр растягивая высоту так как скин должен уметь подстраиваться под разное соотношение сторон при которых высота только и меняется. Это касательно смартфонов, что там с планшетами и магнитолами в плане ширины дп хз.
Title: Re: [Отказано] Заменить единицы измерения с пиксилей на dp
Post by: Kibermanick on April 04, 2022, 23:31:44
Вобщем кароче, базовый макет для телефона должен быть 360х640 где 1дп =1 пикселю, это и будит опорная точка от которой все потом будит одаптироваться под разные экраны. Я понимаю что на разных экранах элементы разъезжаются, для контроля уже этого можно добавить окно просмотра где выставляются разрешение и диагональ экрана для расчета уже фактического количества дп в ширине и фактического отображения элементов.
Title: Re: [Отказано] Заменить единицы измерения с пиксилей на dp
Post by: Artem on April 05, 2022, 12:14:02
Нифига не понимаю, оно работает не как дп.

Как по вашему работает dp?
Title: Re: [Отказано] Заменить единицы измерения с пиксилей на dp
Post by: Artem on April 05, 2022, 12:19:07
Вобщем кароче, базовый макет для телефона должен быть 360х640 где 1дп =1 пикселю, это и будит опорная точка от которой все потом будит одаптироваться под разные экраны.

Пожалуйста, уважайте собеседников.


Вы забываете про то, что скин верстается в dp, а текстуры задаются в px. Поэтому, если вы будете ориентироваться на 1px = 1dp, то на современных устройствах текстуры будут мылиться
Title: Re: [Отказано] Заменить единицы измерения с пиксилей на dp
Post by: Kibermanick on April 05, 2022, 19:47:30
Как по вашему работает dp?

Если я правильно понимаю то ширина в пикселях умножается на плотность указанную в конфиге и делиться на настоящий дпи дисплея. Но это лишнее при верстке на компьютере.

Вы забываете про то, что скин верстается в dp, а текстуры задаются в px. Поэтому, если вы будете ориентироваться на 1px = 1dp, то на современных устройствах текстуры будут мылиться

Походу меня не поняли. Это нужно для отображения в редакторе скинов лишь для верстки, что бы было как ориентироваться. А вот при сборке пусть используется настоящая формула расчета дп. Я потому и привел 1дп = 1пкс просто для удобства а так это лишь абстрактные величины которые при применении скина в плеере просто позиционируют элементы а текстуры впишутся так же как и сейчас это делается. Я потому и заговорил про дп что бы не было привязки к пикселям, но ошибочно посчитал что использовались пиксели потому что не один размер адекватно не совпадал. Пусть редактор делает подмену расчета дп лишь для отображения на компе. Вот как я уже говорил все гугловские примеры имеют четко 360дп в ширину и для удобства они сделали все шаблоны в пиксельном соотношении.

Ладно допустим забыли про пиксели, можно ли просто сделать макет с конкретным количеством дп на высоту и ширену? Я так понял вы подумали что люди начнут делать текстуры под 360х640 в пикселях. В таком случае как такой вариант при котором просто зафиксировать ширину и высоту в дп. Типа пусть условный макет имеет разрешение 1080х1920 но без учета диагонали в дюймах и на это разрешение конкретное разрешение в дп 360х640. Повторюсь что все это лишь в пределах редактора, для верстки.
Title: Re: [Отказано] Заменить единицы измерения с пиксилей на dp
Post by: Artem on April 05, 2022, 23:14:03
Эх...

Плотоность (density) есть у дисплея телефона, такой же параметр есть в конфиге скина. Если они будут равны - вы получите в превью ровно то, что хотите.

Это нужно для отображения в редакторе скинов лишь для верстки, что бы было как ориентироваться.

Ориентироваться надо на реальные параметры устройств, а не на абстрактное представление в голове.

Типа пусть условный макет имеет разрешение 1080х1920 но без учета диагонали в дюймах и на это разрешение конкретное разрешение в дп 360х640


У современных аппаратов разрешение экрана немного побольше, чем 1080х1920.