Мені потрібно кодувати компонування андроїд-віджетів за допомогою dip / dp (у файлах java). Під час виконання, якщо я кодую
int pixel=this.getWindowManager().getDefaultDisplay().getWidth()
;
це поверне ширину екрана в пікселях (px). Щоб перетворити це в dp, я зашифрував:
int dp =pixel/(int)getResources().getDisplayMetrics().density ;
Це, здається, не відповідає правильній відповіді. Я зробив емулятор WVGA800, роздільна здатність екрана якого становить 480 на 800. Коли запустіть емулятор і дозвольте коду надрукувати значення пікселів і dp, він досяг 320 в обох. Цей емулятор становить 240 dpi, коефіцієнт масштабу якого буде 0,75.