如何限制在视图内容的长度?

问题描述:

比方说,我有一个网页视图:如何限制在视图内容的长度?

@Override 
public void onPageFinished(WebView view, String url) 
{ 
    Log.d(TAG, "Finished: " + url); 
    super.onPageFinished(view, url); 

    Log.d(TAG, "webView.getContentHeight(): " + webView.getContentHeight()); 
    Log.d(TAG, "webView.getHeight(): " + webView.getHeight()); 
    Log.d(TAG, "view.getContentHeight(): " + view.getContentHeight()); 
} 

它返回:

webView.getContentHeight():4059 webView.getHeight():1746

现在,我想砍掉的网页内容底部500个像素(例如4059像素 - >成为3559像素),同时仍然保持它的可视的WebView高度1746

谁能给我一个想法?我真诚地感谢!

约翰

不知道你要完成的任务 - 改变“或contentHeight”需要改变的内容,并重新加载页面。

所以我假设你正在试图阻止看到的内容,在这种情况下,您可以覆盖scrollTo,防止滚动从去过去的含量一定的余量,像这样:

int myMargin = 500; 

然后:

@Override 
public void scrollTo(int x, int y){ 
     int maxScroll = webView.getContentHeight() - myMargin; 
     if (y > maxScroll) { 
      super.scrollTo(x, maxScroll); 
     } else { 
      super.scrollTo(x,y); 
     } 
} 
+0

到目前为止,我通过在片段中放置“maxScroll = webView.getContentHeight() - myMargin”在onCreatView中没有任何效果。你会建议如何发表这个声明? – beachboy 2014-09-16 16:55:51

+0

您可能需要进去'scrollTo'内容高度,但我认为你已经知道你的内容之前,用户可以滚动。如果您有动态内容,我编辑了我的答案。 – Jim 2014-09-17 15:57:21