项目里面用到了WebView,因为有些功能的需要,我需要拿到WebView的高度。但是,从网络上找了找没有什么好的解决方法,基本拿到的高度都是0.那么我们应该怎么样去获取WebView的高度呢?这里给出笔者的一个方法:自定义WebView.
public class MyWeb extends WebView {
private inter activity;

public MyWeb(Context context, AttributeSet attrs) {    super(context, attrs);}@Overrideprotected void onSizeChanged(int w, int h, int ow, int oh) {//该方法会多次调用    super.onSizeChanged(w, h, ow, oh);    activity.callback(h);}// 回调接口interface inter {    void callback(int h);}public void setActivity(inter activity){    this.activity = activity;}

}

这里重写的WebView的onSizeChanged()方法,并利用接口回调将高度传回调用WebView的类中去。
下面是MainActivity
public class MainActivity extends Activity implements inter {

private MyWeb wv;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    wv = (MyWeb) findViewById(R.id.wv);    wv.loadUrl("http://baidu.com");    // WebView会默认使用浏览器打开网页,在这里我们在webview里面打开    wv.setWebViewClient(new WebViewClient() {        @Override        public boolean shouldOverrideUrlLoading(WebView view, String url) {            // 返回true---Webview打开,返回false----浏览器打开            view.loadUrl(url);            return true;        }    });    wv.setActivity(this);}@Overridepublic void callback(int height) {    Log.e("tag", height + "----");}

}

更多相关文章

  1. Android(安卓)FrameWork——Binder机制详解(1)
  2. 【Android】AsyncTask机制
  3. OpenCore代码阅读--PVPlayer的实现
  4. Android(安卓)Camera框架
  5. Android(安卓)- 如何判断当前线程是否是主线程
  6. Android应用间调用方式——URL Scheme
  7. API Demos 2.2 研读笔记(9)——通过调用子Activity返回值
  8. 利用Xposed Hook打印Java函数调用堆栈信息的几种方法
  9. Unable to resolve dependency for ......

随机推荐

  1. android设置全屏模式
  2. Android 联系人的增删修改
  3. Android Studio 在小米手机上成功运行
  4. Android获得屏幕分辨率的两种方法
  5. 给TextView添加边框
  6. Android使用GridView实现俄罗斯方块(附源
  7. android TextView 部分文字变色 工具类
  8. Android TV -5.1- Developing a TV Input
  9. android 大图片拖拽并缩放实现原理
  10. 用Eclipse调试Android x86