2015-05-21 86 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'以像素爲單位返回文本大小。因此我需要一些能夠與屏幕密度一起工作的東西。 –

相關問題