Android: принудительное использование WebView на определенной высоте (или запуск прокрутки для div) - PullRequest
1 голос
/ 16 февраля 2010

Я создаю приложение, которое содержит форму ввода и 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)

Ответы [ 2 ]

1 голос
/ 14 июня 2011

Я думаю, что вы хотите использовать вес для этого. Я немного озадачен вашим 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, поскольку только web-представление имеет атрибут веса. Надеюсь, это поможет.

0 голосов
/ 26 февраля 2010

Я думаю, вы можете поместить ScrollView вне LinearLayout

...