Динамическая поддержка различных размеров экрана

У меня есть приложение, которое рисует круг в пользовательском представлении, а их радиусы имеют жестко запрограммированные значения. однако это не выглядит хорошо на устройствах с меньшим размером экрана, поскольку круги кажутся больше, а также их начальные координаты жестко запрограммированы, поэтому, поскольку круг подпрыгивает, они имеют тенденцию выходить за пределы экрана.

Пример: круг 1 x = 50, y = 600 r = 200, круг 2 x = 550, y= 130, r = 150 и т. д.

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

Сделайте свой собственный экран, пропорциональный устройству. Например, ваш экран всегда имеет ширину «1000». Если устройство, скажем, имеет ширину 720 пикселей, то каждый пиксель экрана равен 1000/720. С помощью этой базовой константы вы можете разместить что угодно на экране, и оно будет выглядеть одинаково, независимо от устройства. Другой вопрос - высота:]

Tigger 08.08.2018 11:33

Спасибо за предложение, это хороший способ делать такие вещи? И что вы имеете в виду под высотой, это проблема

Krul 08.08.2018 11:37

Ваш макет должен иметь гибкую высоту, так как практически каждое устройство имеет разную высоту. Раньше я определял ширину и высоту (соотношение сторон) и создавал буфер (или заполнение), для которого любой размер не может четко умещаться на экране, чтобы я мог сохранить соотношение сторон моего макета.

Tigger 08.08.2018 11:43
1
3
92
1

Ответы 1

Используйте библиотеку SDP - единица масштабируемого размера для поддержки различных экранов.

Android SDK, который предоставляет новую единицу размера - sdp (масштабируемый dp). Эта единица измерения масштабируется вместе с размером экрана. Это может помочь разработчикам Android в поддержке нескольких экранов. Вот ССЫЛКА НА САЙТ

Пробовал, но не масштабируется <Спасибо за предложение.

Krul 10.08.2018 01:53

@Krul, что происходит, когда вы устанавливаете размер с помощью этой библиотеки?

Arbaz.in 16.08.2018 11:09

Другие вопросы по теме