2013-10-12 19 views
0

我已經發布了關於在pexcles中設置文本大小的消息。我發現有一些帖子使用下面這行來設置比例因子。final float scale = getContext()。getResources()。getDisplayMetrics()。density總是返回1

final float scale = getContext().getResources().getDisplayMetrics().density; 

在我的acer桌面和vergin手機上,文本仍然繪製成相同的大小。 我vergin手機有400周圍320 resultion以及表是一樣的東西800 1100 ..

當我跟蹤的代碼與debuuger,規模始終是PNE ..

代碼清單。

paint.setColor(Color.WHITE); 

       final float scale = getContext().getResources().getDisplayMetrics().density; 
       int size = (int) (18 * scale + 0.5f); 

       paint.setTextSize(18); // cGlobals.TranslateX 
       canvas.drawText("SETTINGS:", cGlobals.TranslateX(900),cGlobals.TranslateY(150), paint); 

回答

1

試試這個下面的代碼..

final int scale = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 
        (float) 123.4, getResources().getDisplayMetrics());