Apakah setWidth (int piksel) menggunakan piksel independen perangkat atau piksel fisik sebagai unit? Misalnya, apakah setWidth (100) menyetel lebar tampilan ke 100 dips atau 100 px?
Terima kasih.
android
width
pixels
units-of-measurement
density-independent-pixel
pengguna256239
sumber
sumber
Cara yang benar untuk mendapatkan sejumlah DIP yang konstan dalam kode adalah dengan membuat file XML sumber daya yang berisi nilai dp seperti:
Kemudian rujuk ke sumber daya dalam kode Anda seperti:
Float yang Anda kembalikan akan diskalakan sesuai dengan kepadatan piksel perangkat dan jadi Anda tidak perlu terus mereplikasi metode konversi di seluruh aplikasi Anda.
sumber
Metode setWidth (100), atur 100 px sebagai lebar (bukan dalam dp). Jadi Anda mungkin menghadapi masalah lebar yang bervariasi pada ponsel Android yang berbeda.Jadi gunakan pengukuran dalam dp, bukan piksel. Gunakan kode di bawah ini untuk mendapatkan pengukuran dalam dp dari lebar sampel = 300px dan tinggi = 400px.
sumber
Sumber (@Romain Guy)
sumber
Piksel tentu saja, metode ini meminta piksel sebagai parameter.
sumber
Berdasarkan jawaban di atas yang berfungsi dengan baik bagi saya, saya menghasilkan beberapa metode pembantu , cukup tambahkan di utilitas Anda untuk menggunakannya di seluruh proyek.
sumber