如何在HTML中而不是在视图中滚动?

时间:2014-03-22 12:22:28

标签: android android-layout android-webview

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

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

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

如何告诉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>

3 个答案:

答案 0 :(得分:1)

好的,我已经弄清楚了。 问题是,因为我的HTML页面比显示器高,所以无论我做什么,WebView都在滚动它。

为防止WebView滚动,我首先必须将HTML的高度约束到视口的高度。一旦我这样做,WebView就没有任何内容可以滚动,所以我得到了我正在寻找的效果。

答案 1 :(得分:0)

https://api.jquerymobile.com/toolbar/如果您仍然遇到问题,您将获得支持jquerymobile的公司的支持。

答案 2 :(得分:0)

如果您不希望WebView滚动,请将其高度设置为wrap_content:android:layout_height="wrap_content"