2012-01-06 76 views
3

有沒有簡單的方法(可能是非編程?)將WebView中的文本大小與TextView中的文本大小相匹配?將Android WebView文本大小匹配到TextView文本大小

我有一個(XML-指定)的TextView它沒有文字的大小或外觀屬性:

<TextView 
    android:id="@+id/lblExerciseSummary" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/lblWeekTitle" 
    android:textColor="@color/home_screen_text_colour" 
    android:paddingBottom="4dp" 
    android:paddingLeft="4dp" /> 

而且還具有無文本大小或外觀的WebView屬性:

<WebView 
    android:id="@+id/wvTest" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/lblRunDescription" 
    android:layout_below="@+id/lblTest" 
    android:background="#00000000" /> 

當我將TextView(使用setText())和HTML放入WebView中(使用loadData()並將文本本身放置在<p>元素中,沒有額外的CSS /內聯樣式集),兩個視圖顯示不同大小的文本WebView似乎默認爲比T更大的尺寸。extView)

什麼是確保我的WebView文本始終在大小TextView的文本相匹配的最佳方式,並有可能在其他外觀 - 是它也許只是運氣,它是即使是同一字型?

我猜的TextView正在加快從主題/風格/設備設置一些默認值,但我也猜測,web視圖具有某種默認樣式的可能是撿了相同的設置?

+0

是你能解決這個問題? – Maragues 2012-05-18 10:35:22

+0

不是。我放棄了使用TextViews來處理我正在做的所有事情。 – 2012-05-18 10:47:02

+0

好的,thx。不適合我。當我(希望)找到解決方案時,我會寫一個答案 – Maragues 2012-05-18 11:11:22

回答

0

馬特,你可以嘗試使用方法setTextZoom()WebView

thisWB.getSettings().setTextZoom(thisTV.getTextSize()); 

thisWB:你WebView

thisTV:你TexView,從那裏你會得到的文本大小爲WebView

請注意,方法setTextZoom(int textZoom)是API級別14(如果您正在開發適用於Android 4.0+的應用程序,請使用它)。

鏈接:WebSettings

+1

感謝您的建議。鑑於setTextZoom需要一個百分比,而getTextSize返回一個大小的像素,我不明白這是如何工作,但? (另外,我還在開發API級別8+,最終沒什麼關係,因爲我只是改變了我的方法,以避免混合使用WebView和TextView ......) – 2012-07-26 16:56:39