gpt4 book ai didi

Android获取WebView高度

转载 作者:行者123 更新时间:2023-11-29 18:11:28 25 4
gpt4 key购买 nike

我在我的 XML 中定义了一个 WebView:

<WebView
android:id="@+id/streetview_webview"
android:layout_width="match_parent"
android:layout_height="164dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/header" />

现在我想在我的代码中获取这个 WebView 的高度,以排除 webview 滚动滚动我的 CustomViewPager

@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (childId > 0) {
View webv = findViewById(R.id.webView1);
if (webv != null) {
int x = webv.getLeft();
int x2 = x + webv.getLayoutParams().width;

int y = webv.getTop();
int y2 = y + webv.getMeasuredHeight();

int targetx = (int) event.getX();
int targety = (int) event.getY();

if (targetx > x && targetx < x2 && targety > y && targety < y2) {
return false;
}
}
}
return super.onInterceptTouchEvent(event);
}

我试过了

webv.getHitRect 但这会获取父级(整个屏幕)的高度

webv.getLayoutParams().width; // <- working
webv.getLayoutParams().height; // -1

webv.getHeight

但他们都没有让我达到 164dp 的高度。

编辑:谢谢大家,Akos Cz 是对的。

最佳答案

试试 getMeasuredHeight()方法。在布局过程的测量通过后,它可用于所有 View 对象。

查看以下 URL 中的文档以获得更详细的解释,特别是以下部分:

  • 大小、填充和边距
  • 布局

http://developer.android.com/reference/android/view/View.html

关于Android获取WebView高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10417120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com