2016-06-27 5 views
0

Я работаю над проектом, в котором я рисую виды на экране программно. Я хочу установить LayoutParams на основе плотности устройства. Взгляды должны быть сделаны большими размерами в устройствах верхнего уровня и небольших устройствах с низкой плотностью. Есть ли значение множителя, которое может использоваться для разных плотностей?Рисунок на холсте, основанный на плотности устройства

+0

Возможная дубликат [Рисунок на выпуске Canvas в высоких конечных устройствах] (http://stackoverflow.com/questions/ 37988804/проборки на холсте-вопрос-в-ч igh-end-devices) –

ответ

0

Проверьте этот ответ https://stackoverflow.com/a/4766229/5476209 этим вы можете получить, если устройство имеет разрешение экрана высокого или низкого или среднего размера.

Также проверьте этот код, если вы хотите сделать общий код, который работает для большинства всех устройств затем здесь http://www.androidwarriors.com/2016/01/how-to-find-different-devices-screen.html

Ниже простейший фрагмент кода, который может получить плотность устройства, она возвращает целочисленное значение

DisplayMetrics metrics = new DisplayMetrics();  
getWindowManager().getDefaultDisplay().getMetrics(metrics);  
int screenDensity = metrics.densityDpi; 

0,75 - низкая плотность, 1 - средняя плотность, 1,5 - высокая плотность и 2,0 - сверхвысокая плотность

+0

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

+1

Согласно моему знанию, вы должны создать свой собственный метод, вы можете создать свой собственный параметризованный метод, взяв это возвращаемое целочисленное значение по вышеприведенному фрагменту, а затем используйте свою логику @Jas – TapanHP

+0

http://stackoverflow.com/questions/37988804/drawing -on-canvas-issue-in-high-end-devices. Это еще один вопрос, который я опубликовал в прошлый день. Он содержит фрагмент кода, который я использую. Проверьте, что – Jas

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