在Android中使用HTML页面上下滚动

时间:2012-01-10 10:06:09

标签: android

昨天我在StackOverflow中提出了一个问题,但无法得到答案。 我正在为同一个Question link添加网址以寻找答案。 我使用WebView渲染页面,无法使用保存在资产文件夹中的html向上和向下滚动。 在模拟器中完美运行但在设备中我无法滚动。

期待您的回复。 感谢。

1 个答案:

答案 0 :(得分:1)

使用这是代码

xml的代码

<ScrollView android:scrollbars="vertical" android:layout_height="wrap_content"     
    android:layout_width="fill_parent"     
    xmlns:android="http://schemas.android.com/apk/res/android"> 
  <LinearLayout 
      android:layout_height="fill_parent" android:layout_width="fill_parent" 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:orientation="vertical"> 
     <WebView android:layout_height="wrap_content" 
        android:layout_width="fill_parent" android:id="@+id/help"/> 
     <ImageButton 
        android:layout_height="wrap_content" android:layout_width="wrap_content"  
        android:id="@+id/close" android:background="@drawable/ok_button"  
        android:layout_centerHorizontal="true" android:layout_gravity="center" 
        android:layout_alignParentBottom="true"/>
  </LinearLayout> 
</ScrollView>

jave中的代码

try {
        InputStream is = getAssets().open("help.html");

        // We guarantee that the available method returns the total
        // size of the asset...  of course, this does mean that a single
        // asset can't be more than 2 gigs.
        int size = is.available();

        // Read the entire asset into a local byte buffer.
        byte[] buffer = new byte[size];
        is.read(buffer);
        is.close();

        // Convert the buffer into a Java string.
        String text = new String(buffer);

        final String mimeType = "text/html";
        final String encoding = "utf-8";

        // Finally stick the string into the text view.
        WebView wv = (WebView)findViewById(R.id.help);
        wv.loadData(text, mimeType, encoding);
    } catch (IOException e) {
        // Should never happen!
        throw new RuntimeException(e);
    }