2013-07-16 138 views
0

我需要製作包含圖像和文本的「頁面」(最有可能使用ViewPager)。計算文本需要多少空間

例如首先會有圖像,在圖像下載時會得到圖像尺寸。在佈局中的圖像將X空間左,我可以顯示Y長文本。然後在下一頁我將其餘的文本分割成新的字符串來顯示。 TextSize的單位是dp

我有想法得到多少像素avarage字母需要,然後計算大約有多少線我可以顯示在一個頁面。

什麼是進行這些計算的最佳方法?

而對於首發,我沒有信計算

final float densityMult = ctx.getResources().getDisplayMetrics().density; 
    final float scaledPx = 20 * densityMult; //i guess its same as 20dp 
    paint.setTextSize(scaledPx); 
    final float size = paint.measureText("a"); 

凡在480x800的3.7" 屏幕,返回值16.0和4.0" 540x960 17.0 是這些值的像素?

回答

1

我真的不明白你爲什麼要衡量你的文字,但就像你有:

paint.measureText("a"); 

可以測量任何字符串,而不僅僅是文字。如果你想手動分割你的文本(我不建議這麼做),你可以檢查文本的大小是否高於可用寬度。

是的,measureText返回px

+0

耶措施..收集更多的信息,我發現很不錯的方法BREAKTEXT()http://developer.android.com/reference/android/graphics/Paint.html# breakText%28java.lang.CharSequence,%20int,%20int,%20boolean,%20float,%20float%5B%5D%29,現在唯一的問題似乎是獲取maxWidth參數 –