Android: масштаб с фиксированной разметкой вниз - PullRequest
0 голосов
/ 25 сентября 2011

Я хочу масштабировать свое Android-приложение, в основном я разработал его для дисплея 800x480 с AbsoluteLayout Это необходимо для моего приложения, я не могу его изменить.

Теперь проблема: Когда я запускаю свое приложение в эмуляторе, кнопки исчезают, и изображения становятся очень большими. Я думал, что Android будет масштабировать приложения с фиксированным размером по умолчанию, но это не работает. Я уже пытался манипулировать манифестом, но это не сработало.

Я использую компонент ImageView для графики. Ориентация на Android 2.1

Приветствие Felix

1 Ответ

1 голос
/ 25 сентября 2011

Определенно не идеально использовать AbsoluteLayout.Но, если вы хотите просто протолкнуть его, вам следует переключить единицы измерения всех ваших координат и размеров с px (пикселей) на dp (пикселей, не зависящих от плотности).Для начала вам придется масштабировать все ваши существующие координаты с коэффициентом 2/3, поскольку 1 dp = 1.5px при плотности, на которую нацелен ваш макет (hdpi).

Вам необходимо явно указатьукажите размеры всех ваших изображений и макетов.Если, например, у вас есть кнопка шириной 30 пикселей и высотой 120 пикселей, она станет шириной 20 дп и высотой 80 дп.

Конечно, изображения не будут хорошо смотреться на экранах меньшего размера (мдпи),так как они будут масштабироваться до 2/3 размера.Кроме того, некоторые устройства переведены в ландшафтный режим, где вы обязательно столкнетесь с проблемами компоновки.Так что это не красиво, но может привести вас к финишной черте, в зависимости от ваших требований.

...