Android: масштабирование смещения изображения между разрешениями - PullRequest
0 голосов
/ 26 сентября 2011

У меня есть приложение, в котором в альбомной ориентации я выстраиваю кучу строчных букв ImageView в алфавитном порядке, чтобы они сидели на воображаемой линии. Проблема в том, что они имеют разную высоту, то есть «h» выше, чем «a». Таким образом, я установил атрибут android: layout_marginTop для каждой буквы в пикселях, чтобы выровнять их на вкладке Galaxy. Это сработало.

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

Ответы [ 2 ]

0 голосов
/ 27 сентября 2011

Я бы сначала спросил, почему вы делаете это таким образом ... кажется слишком сложным.Тем не менее, вы можете просто измерить максимальную высоту для ImageViews и использовать это.Например, x, h и g имеют одинаковую высоту x (высоту строчной буквы x), но у h есть символ по возрастанию, а g по убыванию (который идет выше и ниже стандартной высоты x соответственно).Вы можете создать все буквы, выровненные по базовой линии, задать им одинаковую высоту (высота х + высота подъема + высота спуска), а затем просто выровнять верх, низ или центр, чтобы выровнять их по воображаемой линии, что должнодать вам правильное выравнивание.

Действительно, если вы можете поделиться немного большей информацией (скриншот может быть?), вероятно, есть гораздо более элегантное решение.

0 голосов
/ 27 сентября 2011

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

Простым решением было бы использование Photoshop (или GIMP) для изменения размера файлов PNG, чтобы все они имели одинаковые размеры и установить прозрачность новой области PNG.

...