Android uygulamamda pikselim (69 piksel) var ve bu pikselleri daldırma (Yoğunluk Bağımsız Pikseller) haline getirmem gerekiyor.Android'de piksellere daldırma (Yoğunluk Bağımsız Pikseller) nasıl dönüştürülür
Herhangi bir öneriniz var mı?
Android uygulamamda pikselim (69 piksel) var ve bu pikselleri daldırma (Yoğunluk Bağımsız Pikseller) haline getirmem gerekiyor.Android'de piksellere daldırma (Yoğunluk Bağımsız Pikseller) nasıl dönüştürülür
Herhangi bir öneriniz var mı?
Umut bu
Resources r = getResources();
float dp = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX, 69, r.getDisplayMetrics());
Sadece DisplayMetrics.density tarafından piksel değerinizi bölmek yararlı olacaktır.
olarak pikselin ortalama değer veriyor: bölünmeden veya Khushboo'nun örneğinde olduğu gibi çarpmak için? –
Divide. @Khushboo tarafından gösterilen formül, dp'yi px'e dönüştürür. Bir xhdpi ekranında, DisplayMetrics.density == 2.0f. Bir mdpi ekranda 1 dp == 1 px ve bir xhdpi ekranda 1 dp == 2 px olduğundan, dp'yi px'e dönüştürmek için bölmeniz gerekir, diğer yoldan değil. –
Bu deneyebilirsiniz:
public int convertDiptoPx(int pixel){
float scale = getResources().getDisplayMetrics().density;
int dips=(int) ((pixel * scale) + 0.5f);
logMessage("Px=" +pixel+" DipValue="+dips);
return dips;
}
editted:
public int convertPxtoDip(int pixel){
float scale = getResources().getDisplayMetrics().density;
int dips=(int) ((pixel/scale) + 0.5f);
return dips;
}
yok aynı value.I doğru dip – user1195614