Es gibt eine sehr nette Art und Weise dp die Umwandlung ohne Kontext px, und es geht so:dp Konvertieren ohne Kontext px
public static int dpToPx(int dp) {
float density = Resources.getSystem().getDisplayMetrics().density;
return Math.round((float) dp * density);
}
In jedem Beispiel Google auf Google GitHub page sie den folgenden Ansatz verwenden:
public static int convertDpToPixel(Context ctx, int dp) {
float density = ctx.getResources().getDisplayMetrics().density;
return Math.round((float) dp * density);
}
Also ist etwas falsch mit dem ersten Ansatz? Für mich funktioniert es in allen meinen Apps gut, aber ich möchte wissen, gibt es einen Fall, wo es scheitern könnte?
Danke. In meinem Fall hat App keine "Cast" -Option, aber es kann wahrscheinlich auf seltsamen Geräten [wie diesem] (https://www.asus.com/us/Phone/ASUS_PadFone_X_US/) fehlschlagen. –