我正在构建一个包含输入表单和WebView的应用程序。 该项目可在http://code.google.com/p/android-sap-note-viewer/
获得WebView将根据输入呈现网站,此页面包含主要内容的DIV(可能是数百行)。我无法控制网站上的内容。
Android WebKit似乎没有在DIV中进行任何滚动,参考http://www.gregbugaj.com/?p=147。因此,只有部分DIV显示给用户,没有检索文本其余部分的方法。 我的挑战是找到一种方式,显示DIV的所有文字。
我的观点定义如下:
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView android:layout_width="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_height="wrap_content"
android:text="@string/lblNote" />
<EditText android:id="@+id/txtNote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:numeric="decimal"
android:maxLength="10"
/>
<Button android:id="@+id/bView"
android:text="@string/bView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:isScrollContainer="false"
android:keepScreenOn="false"
android:minHeight="4096px"
/>
</LinearLayout>
这里我试图将WebView硬编码到一个很高的高度,以确保DIV伸出并显示所有文本,并强制LinearLayout进行滚动。
然而,WebView始终适应屏幕尺寸(在大多数情况下会很好,但不是这样)。
有关如何解决此问题的任何想法?
(我现在看到的唯一解决方法是自己获取HTML,删除DIV并将其发送到WebView)
答案 0 :(得分:1)
我认为你想要使用权重。我对你的xml代码感到有点困惑,因为你有一个额外的LinearLayout标签,但我认为你正在寻找这样的东西:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android: orientation="vertical">
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView android:layout_width="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_height="wrap_content"
android:text="@string/lblNote" />
<EditText android:id="@+id/txtNote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:numeric="decimal"
android:maxLength="10"
/>
<Button android:id="@+id/bView"
android:text="@string/bView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"/>
</LinearLayout>
此处Webview将填充内部LinearLayout不使用的屏幕的其余部分,因为只有webview具有权重属性。希望这会有所帮助。
答案 1 :(得分:0)
我认为,您可以将ScrollView放在LinearLayout
之外