14

を使用して、ビューに特定の高さ(ピクセル単位)のテキストを描画したいCanvasPaint.setTextSize(float)単純にピクセル数で使用できますか、それともこれはまたはを使用していますdpsp

4

3 に答える 3

14

ピクセルを使用しますが、次のコードを使用して dp に変換できます。

double getDPFromPixels(double pixels) {
    DisplayMetrics metrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metrics);
    switch(metrics.densityDpi){
     case DisplayMetrics.DENSITY_LOW:
                pixels = pixels * 0.75;
                break;
     case DisplayMetrics.DENSITY_MEDIUM:
                 //pixels = pixels * 1;
                 break;
     case DisplayMetrics.DENSITY_HIGH:
                 pixels = pixels * 1.5;
                 break;
    }
    return pixels;
}
于 2012-07-30T11:02:18.200 に答える