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

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

Благодарю.

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

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

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

       100dp 75dp  

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

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

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

    Метод 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()); 
     float dps = 100; float pxs = dps * getResources().getDisplayMetrics().density; 

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

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

    Давайте будем гением компьютера.