2012-01-19 20 views
4

我有一個WebView,我想我的應用程序在文本上找到一個標記(我在html中使用符號►)。我有很多html每個文件都有近10個這些標記。如何將WebView滾動到Android上的特定點

我跟的TextView這樣做很容易地做到了:

int offset=texto.indexOf("SPECIFIC MARKING ON TEXT"); 
    final int line = textview.getLayout().getLineForOffset(offset); 
    final int y = textview.getLayout().getLineTop(line); // e.g. I want to scroll to line 
    final ScrollView s = (ScrollView)findViewById(R.id.ScrollView01); 
    s.post(new Runnable() { 
     @Override 
     public void run() { 
      s.smoothScrollTo(0, y); 
     } 
    }); 

但我怎麼實現這個目標的網頁視圖? 我使用Webview的原因是由於更好的文本格式。

+0

如果它實際上只是您想要的格式化文本,您可以使用[Html.fromHtml](http://developer.android.com/reference/android/text/Html.html)生成TextView中的HTML格式以生成Spanned,可以添加到TextView中。 – Zenanon

+0

我已經嘗試過,但我想它無法讀取我正在使用的格式:粗體,加下劃線的文本,黃色背景(突出顯示)文本和itallic。我從單詞粘貼到HTML編輯器並粘貼代碼嘗試那並沒有給出好的結果。任何想法? – theAnquisp

回答

2

實際上,使用WebView更簡單。對於以下標記,您可以首次使用findAll method,然後使用findNext(true)。該視圖將自動滾動到請求的文本。

+0

嗨,這是自動滾動的好辦法。但它滾動到設備底部的請求文本。我想滾動,直到屏幕上請求的文本頂部。任何解決方案? –

+0

使用此值,然後通過視圖的高度偏移滾動位置,減去近似的文本高度。我猜想。 –

相關問題