Saya perlu kode tata letak widget android menggunakan dip / dp (dalam file java). Saat runtime jika saya kode
int pixel=this.getWindowManager().getDefaultDisplay().getWidth()
,;
ini mengembalikan lebar layar dalam piksel (px). Untuk mengonversi ini menjadi dp, saya memberi kode:
int dp =pixel/(int)getResources().getDisplayMetrics().density ;
Tampaknya ini tidak mengembalikan jawaban yang benar. Saya membuat emulator WVGA800 yang resolusi layarnya 480 kali 800. Ketika menjalankan emulator dan membiarkan kode mencetak nilai-nilai pixel dan dp, itu datang ke 320 di keduanya. Emulator ini adalah 240 dpi yang faktor skalanya adalah 0,75.