展会信息港展会大全

Android WebView在4.4版本以上无法获取高度
来源:互联网   发布日期:2015-10-02 21:27:24   浏览:1219次  

导读:在4.4以下的系统中,我们通常监听webview滑动到底端的方法如下:1,先重新webview,FoundWebViewpublic class FoundWebView extend...

在4.4以下的系统中,我们通常监听webview滑动到底端的方法如下:

1,先重新webview,FoundWebView

public class FoundWebView extends WebView {

ScrollInterface mt;

public FoundWebView(Context context) {

super(context);

// TODO Auto-generated constructor stub

}

public FoundWebView(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);

}

public FoundWebView(Context context, AttributeSet attrs) {

super(context, attrs);

// TODO Auto-generated constructor stub

}

@Override

protected void onScrollChanged(int l, int t, int oldl, int oldt) {

super.onScrollChanged(l, t, oldl, oldt);

//Log.e("hhah",""+l+" "+t+" "+oldl+" "+oldt);

mt.onSChanged(l, t, oldl, oldt);

}

public void setOnCustomScroolChangeListener(ScrollInterface t){

this.mt=t;

}

/**

* 定义滑动接口

* @param t

*/

public interface ScrollInterface {

public void onSChanged(int l, int t, int oldl, int oldt) ;

}

}

2,很少有人不自定义webview吧,直接调用系统的总是有一个地址栏太蛋疼了,所以一般都是在一个activity里加载webview

mWebView.setOnCustomScroolChangeListener(new ScrollInterface() {

@Override

public void onSChanged(int l, int t, int oldl, int oldt) {

// TODO Auto-generated method stub

webviewHight = mWebView.getContentHeight()*mWebView.getScale();

//已经处于底端

if((int)webviewHight == (mWebView.getHeight() + mWebView.getScrollY()) ){

}

//已经处于顶端

//if (mWebView.getScaleY() == 0) {

//

//}

}

});

3,在底端和顶端都可以操作,但是在4.4的系统中,我发现无论如何获取的高度都会成这样

(int)webviewHight > mWebView.getHeight() + mWebView.getScrollY()

在一个测试手机上发现差值总是1,其他手机没测试

4,目前无法解决,但是考虑到底部显示的话,我这里就直接做了一个偏移,

mWebView.setOnCustomScroolChangeListener(new ScrollInterface() {

@Override

public void onSChanged(int l, int t, int oldl, int oldt) {

// TODO Auto-generated method stub

webviewHight = mWebView.getContentHeight()*mWebView.getScale();

//为解决4.4的系统无法获取正确的高度加一个“

这样也可以解决4.4系统你在底部操作(其实也不是完全在底部)

赞助本站

人工智能实验室

相关热词: android开发

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港