Поддержка разных размеров и плотностей

У меня есть просмотрщик с изображениями, и я установил его так:

mViewPager.setPageMargin((int) getActivity().getResources().getDimension(R.dimen.view_pager_margin));

<dimen name="view_pager_margin">-250dp</dimen>

Теперь я создал следующие файлы измерений:

Но когда я запускаю эмуляторы Nexus 5X и Nexus 6P, они оба совместно используют файл dimensions.xml(xxhdpi), и изображения не выглядят хорошо на обоих. Каков наилучший подход, чтобы мои изображения могли выглядеть так, как они должны выглядеть на каждом устройстве?

1 ответ

Согласно https://design.google.com/devices/, 5X и 6P имеют размеры 411 дп х 731 дп. Тем не менее, 5X - это устройство xxhdpi, тогда как 6P - это устройство xxxhdpi, поэтому они на самом деле используют разные файлы Dimens.xml.

Я бы порекомендовал определить ваши размеры.xml на основе фактических размеров экрана, а не плотности экрана. Например, Dimens-w400dp.xml будет применяться к обоим устройствам.

https://developer.android.com/guide/practices/screens_support.html

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