2012-04-16 75 views
0

爲什麼在XML文件中使用的dp與在活動中使用的dp不同?當我創建一個寬度20dp XML文件中的一個TextView,其規模將在所有不同類型的屏幕一樣的,但是當我使用這個:dpi對活動和XML的影響

int sizeInDip = 20; 
int width= TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, sizeInDip, getResources().getDisplayMetrics()); 

大小是所有類型的屏幕不同。

我想知道是否有辦法在活動和XML文件中使用dp獲得相同的結果。

預先感謝您!

回答

0

你爲什麼這樣做? IIRC,您可以通過編程方式調用TextView.setSize方法,只需將大小設置爲20dp即可。此外,你應該使用sp(可縮放像素)的文字大小

+0

這僅僅是一個例子......如果我想使用'sizeInDip'來處理圖像,填充,邊距,佈局等等。不,我不能使用'20dp'裏面setTextSize cuz我需要引入一個'int'只... – 2012-04-16 16:38:37

+0

任何想法?我需要幫助,請... – 2012-04-17 16:43:25

+0

setTextSize()很好,因爲它需要一個浮點數,但它被「解釋爲'縮放像素'」根據文檔,這是你所需要的。 – 2012-04-17 18:21:11