android - 如何在 HTML 中而不是在 View 中滚动?

标签 android android-layout android-webview

我有一个 WebView,它显示一个带有工具栏 div 的 HTML 页面,后跟一个长文本 div。工具栏 div 应该始终可见,因此它被定义为位置固定。

在 Nexus 4 和 Note 2 上一切正常。但是在 ICS Galaxy Tab 上运行它会出现问题。一切都显示正常,但触摸工具栏按钮的行为就好像它是内容 div 而不是工具栏收到了触摸事件。

我假设这是 ICS 中的错误,也许是在这个特定设备上。所以我正在寻找一种解决方法,而不是在 Android 布局中进行滚动,而是通过 HTML 页面完成滚动。这样我就可以简单地拥有两个不会重叠的连续 div,因此应该不会受到可疑错误的影响。

我如何告诉 Android 在 html 中滚动,而不是在布局中滚动?

布局文件

xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent"
tools:context=".WebviewActivity1" >
 <WebView
    android:id="@+id/webView1"
    android:layout_width="match_parent" 
    android:layout_height="match_parent" >   
 </WebView> 
</LinearLayout>

HTML

<body>
 <div id='toolbar' style='position: fixed; top:0px; width: 100%; z-index:99">
    toolbar
 </div>
 <div id='scrollable_content' style="overflow-y: auto; z-index:1>
     lorem ipsum
 </div>
</body>

最佳答案

好的,我知道了。 问题是因为我的 HTML 页面变得比显示器高,无论我做什么,WebView 都在滚动它。

为了防止 WebView 滚动,我首先必须将 HTML 的高度限制为视口(viewport)的高度。一旦我这样做了,WebView 就没有任何东西可以滚动,所以我得到了我正在寻找的效果。

关于android - 如何在 HTML 中而不是在 View 中滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22577534/

相关文章:

android - 在 web View android 中更改 View

java - 将 JSON 解析为自定义 ArrayList,只返回最后一项?

android - 构建使用 Protocol Buffer 的 Android 可执行 gRPC 服务器(无 APK)

android - 当我尝试在任何其他 Activity 中访问当前用户时,Firebase 数据仅在登录 Activity 中从数据库中检索,它给出 null

java - 视频文件加密?

android - 如何在相同的 xml 布局中将元素放在彼此之上?

android - 双向数据绑定(bind) : View is missing user defined type

java - 在 Android 中设置视频作为背景播放

android - WebView 中的 NTLM 身份验证

javascript - WebGL 被检测为支持,但实际上并不支持