This works but the value I get is multiplied times the screen density factor
(1.5 for hdpi, 2.0 for xhdpi, etc).
Ben çözünürlük başına değeri almak iyi olduğunu düşünüyorum ama bunu yapmak istemiyorsanız bunu pks vermek .......
Yoğunluktan bağımsız piksel (dp)
Düzen boyutlarını veya konumunu yoğunluktan bağımsız bir şekilde ifade etmek için UI mizanpajını tanımlarken kullanmanız gereken sanal piksel birimi. Yoğunluktan bağımsız piksel, 160 dpi ekranda bir fiziksel piksele eşdeğerdir; bu, sistem tarafından bir "orta" yoğunluk ekranı için varsayılan temel yoğunluktur. Çalışma zamanında, sistem gerektiğinde dp birimlerinin herhangi bir ölçeklendirmesini şeffaf bir şekilde işler,based on the actual density of the screen in use. The conversion of dp units to screen pixels is simple: px = dp * (dpi / 160). For example, on a 240 dpi screen, 1 dp equals 1.5 physical pixels.
farklı yoğunluklara sahip ekranlarda UI'nizin düzgün bir şekilde görüntülenmesini sağlamak için uygulamanızın UI'sini tanımlarken her zaman dp birimlerini kullanmalısınız.
Ben çözünürlük başına değeri değiştirmek iyi olduğunu düşünüyorum ama bunu yapmak istemiyorsanız bunu pks vermek .......
bu bağlantıya bak
buna göre
dp
Yoğunluktan Bağımsız Pikseller - Ekranın fiziksel yoğunluğuna dayanan soyut bir birim. Bu birimler, 1dp'nin kabaca 1px'e eşit olduğu 160 dpi (inç başına nokta sayısı) ekrana göredir.When running on a higher density screen, the number of pixels used to draw 1dp is scaled up by a factor appropriate for the screen's dpi. Likewise, when on a lower density screen, the number of pixels used for 1dp is scaled down.
Dp-piksel oranı ekran yoğunluğu ile değişecektir, ancak doğrudan orantılı olması gerekmeyecektir. Dp birimlerini kullanmak (piksel birimleri yerine), mizanpajınızdaki görünüm boyutlarının farklı ekran yoğunlukları için düzgün bir şekilde yeniden boyutlandırılması için basit bir çözümdür. Başka bir deyişle, kullanıcı arayüzü öğelerinizin farklı cihazlardaki gerçek dünya boyutlarında tutarlılık sağlar.
px
Pikseller - Ekrandaki gerçek piksellere karşılık gelir. Bu ölçü birimi önerilmez çünkü gerçek gösterim cihazlar arasında değişiklik gösterebilir; her cihaz inç başına farklı sayıda piksele sahip olabilir ve ekranda daha fazla veya daha az toplam piksele sahip olabilir.
getDimensionPixelSize(int id)
getDimension(int id)
setPadding