2015-05-21 155 views

回答

1

获取密度的因素很简单:

float density = context.getResources().getDisplayMetrics().density; 
+0

所以你认为'浮体密度= context.getResources()。getDisplayMetrics()。密度; setTextSize(getTextSize()+ 3 * density);'会工作吗? –

+1

100%肯定它会 –

0

当你看着

setTextSize(浮点大小)

你会看到这种方法。

public void setTextSize(float size) { 
    setTextSize(TypedValue.COMPLEX_UNIT_SP, size); 
} 

这意味着TextSize会根据当前密度和您的字体首选项进行调整。

,或者你可以设置自己的setTextSize像

值是原始像素

setTextSize(TypedValue.COMPLEX_UNIT_PX, size); 

值是与设备无关的

setTextSize(TypedValue.COMPLEX_UNIT_DIP, size); 

值是缩放像素

setTextSize(TypedValue.COMPLEX_UNIT_SP, size); 

值是点

setTextSize(TypedValue.COMPLEX_UNIT_PT, size); 

值是英寸

setTextSize(TypedValue.COMPLEX_UNIT_IN, size); 

值是以毫米为单位

setTextSize(TypedValue.COMPLEX_UNIT_MM, size); 
+0

感谢您的回答,但问题是我不只是设置文本大小。我正在增加它,'getTextSize'以像素为单位返回文本大小。因此我需要一些能够与屏幕密度一起工作的东西。 –

相关问题