Как настроить изображение под размер экрана? - PullRequest
0 голосов
/ 21 ноября 2011

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

Вот код, который у меня есть и который не работает:

player.setScaleX( player.getContentSize().width / winSize.width );
player.setScaleY( player.getContentSize().height / winSize.height);

1 Ответ

0 голосов
/ 21 ноября 2011

Предполагая, что размеры родительского вида не зависят от плотности, вы можете использовать imageView.setScaleType для CENTER_CROP или CENTER_INSIDE для масштабирования изображений.

http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

EDIT ** Если вы просто хотите, чтобы изображение помещалось на весь экран, задайте для imageview fill_parent для ширины и высоты, а затем установите для изображения этого просмотра изображения соответствующий тип масштаба. Не уверен, зачем тебе нужны собственные алгоритмы ..

Редактирование ***

Это стандартная проблема; поддержка нескольких размеров экрана и масштабирование соответственно. Основная идея состоит в том, чтобы избежать указания фактических пикселей и вместо этого использовать независимые от плотности пиксели. Смотрите это: http://developer.android.com/guide/practices/screens_support.html и это: http://developer.android.com/guide/practices/tablets-and-handsets.html

Как правило, все сводится к использованию единиц "dp" в xml и в коде для определения единиц (для размеров текста и ширины / высоты и т. Д.) Как бы ни было ваше число TIMES getResources (). GetDisplayMetrics (). применить соответствующий коэффициент масштабирования.

...