Использует ли setWidth (int pixels) dip или px?

Использует ли setWidth (int pixels) автономный пиксель устройства или физический пиксель как единое целое? Например, устанавливает ли setWidth (100) ширину представления 100 обрывов или 100 пикселей?

Благодарю.

Solutions Collecting From Web of "Использует ли setWidth (int pixels) dip или px?"

Он использует пиксели, но я уверен, что вам интересно, как использовать провалы. Ответ в TypedValue.applyDimension() . Вот пример того, как конвертировать образы в px в код:

 // Converts 14 dip into its equivalent px Resources r = getResources(); float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 14, r.getDisplayMetrics()); 

Правильный способ получить постоянное количество DIP в коде – создать XML-файл ресурсов, содержащий значения dp, немного похожие на:

 <?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="image_width">100dp</dimen> <dimen name="image_height">75dp</dimen> </resources> 

Затем обратитесь к ресурсу в вашем коде следующим образом:

 float width = getResources().getDimension(R.dimen.image_width)); float height = getResources().getDimension(R.dimen.image_height)); 

Поплавок, который вы вернули, будет соответствующим образом масштабироваться для плотности пикселей устройства, поэтому вам не нужно сохранять репликацию метода конверсии во всем приложении.

 float dps = 100; float pxs = dps * getResources().getDisplayMetrics().density; 

Источник (@Romain Guy)

Метод setWidth (100), установите 100 px как ширину (не в dp). Таким образом, вы можете столкнуться с разными проблемами на разных телефонах Android. Используйте измерение в dp вместо пикселей. Используйте приведенный ниже код, чтобы получить измерение в dp ширины образца = 300px и height = 400px.

 int width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 300, getResources().getDisplayMetrics()); int Height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 400, getResources().getDisplayMetrics()); 

Пиксели, конечно, метод запрашивает пиксели в качестве параметра.