2015-04-03 2 views
0

Я ищу способ сохранить размер изображения, пропорциональный всем устройствам. Я экспериментировал со многими математическими вычислениями (например, размером экрана микширования, плотностью, процентом и т. Д.), Но не нашел каких-либо решений, просто разные результаты для каждого тестируемого устройства.Android, как оценить размер изображения, чтобы сохранить такую ​​же пропорцию во всех устройствах

Позвольте мне привести пример: предположим, что я тестирую приложение на sw-360dp, и, в конце концов, я нахожу вид размера, который работает.

relativeLayoutParams.width = 150; 

relativeLayoutParams.height = 250; 

Это приводит к созданию вида размером около 1/3 ширины экрана и 1/2 высоты экрана.

Как я могу динамически получить значение ширины и высоты, которое позволяет смотреть соотношение сторон 1/3 ширины на 1/2 высоты? По крайней мере, я думаю, это то, что предлагает документация, когда он говорит: «Рассчитать точный размер (или поле, прописку и т. Д.) С процентом от размера экрана».

Или я неверно истолковал его?

Любая помощь будет оценена по достоинству.

+0

Просто почему-то в ** дп ** с вместо пикселей –

ответ

0

Вы можете получить размер экрана устройства и там определяют соотношение,

Display display = getWindowManager().getDefaultDisplay(); 
    Point size = new Point(); 
    display.getSize(size); 

Затем

width = (int) size.x * 1/3 ; 
    height = (int) size.y * 1/2 ; 
+0

большое спасибо , Просто вопрос: это решение работает нормально независимо от плотности экрана? – javaman

+0

да, это я проверил. также принимайте ответ, если он вам помог. –

Смежные вопросы