0

我之前发布了一条关于在 pexcles 中设置文本大小的消息。我发现一些帖子使用以下行来设置比例因子。

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

在我的 acer 桌子和初代手机上,文字仍然以相同的大小绘制。我的初代手机的结果大约是 320 x 400,而桌子大约是 800 x 1100..

当我用调试器跟踪代码时,规模总是 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);
4

1 回答 1

1

试试下面的代码..

final int scale = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 
                     (float) 123.4, getResources().getDisplayMetrics());
于 2013-10-12T16:51:21.760 回答