【问题标题】:Using a ScrollView instead of scrolling in the WebView使用 ScrollView 而不是在 WebView 中滚动
【发布时间】:2014-02-07 22:51:09
【问题描述】:

我有一个视图 TextViews 和一个 WebView,我想将它们作为一个单元进行滚动,而不是由于内容长度而在需要时滚动 WebView。这可能很简单,但我似乎无法让它工作,因为 WebView 总是有一个滚动条。

这是我的布局文件:

<ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/imageView"
        android:src="@drawable/background_tablet"
        android:scaleType="centerCrop"
    android:contentDescription="@string/background_image" />

<LinearLayout
          android:orientation="vertical"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:background="@color/list_background_overlay">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:background="@color/list_background_overlay"
        android:baselineAligned="false">

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="@string/author"
            android:id="@+id/article_view_author"
            />

    <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="@string/title"
            android:id="@+id/article_titleView" android:layout_gravity="center_horizontal"
            android:gravity="center_horizontal"/>

    <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            >

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:text="@string/site"
                android:id="@+id/article_view_site"/>

        <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:text="@string/date_unknown"
                android:id="@+id/article_view_date"
                android:gravity="right"/>
    </LinearLayout>
</LinearLayout>

    <RelativeLayout
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="70dp"
            android:background="@color/list_background_overlay"
            android:id="@+id/article_mediaLayout"
            android:padding="10dp"
            >

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:text="@string/duration_default"
                android:id="@+id/article_duration"
                android:gravity="left"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                />

        <Button
                style="?android:attr/buttonStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/play"
                android:id="@+id/article_playBttn"
                android:layout_alignTop="@+id/article_preview"
                android:layout_centerInParent="true"/>

        <ImageView
                android:layout_width="100dp"
                android:layout_height="50dp"
                android:id="@+id/article_preview"
                android:layout_gravity="center"
                android:layout_centerVertical="true"
                android:layout_alignParentRight="true"
                android:paddingRight="20dp"
            android:contentDescription="@string/preview_image" />

        <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="512dp"
                android:layout_alignParentTop="true"
                android:layout_marginTop="10dp"
                android:id="@+id/relativeLayout">
        </RelativeLayout>
    </RelativeLayout>

    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="15dp"
        android:id="@+id/article_filler">
</FrameLayout>

<FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@color/list_background_overlay"
        android:paddingTop="20dp"
        android:paddingBottom="20dp">

    <WebView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:id="@+id/article_contentView" android:layout_gravity="center_horizontal"
            android:padding="10dp"
            android:paddingTop="30dp"
            android:paddingBottom="20dp"/>
</FrameLayout>

【问题讨论】:

    标签: android android-layout webview scrollview


    【解决方案1】:

    Webview 有一个内部滚动条。因此,将它包装在另一个滚动视图中并不是一个好的选择。我不知道您的 HTML 有多复杂,也不知道它是否适合您的情况,但也许您应该考虑在纯文本视图中显示它,如下所述:How to display HTML in TextView?

    【讨论】:

    • 它基本上是 HTML 表单 RSS 提要,因此可以包含从图像到 css 的所有内容。 TextView 不适合我认为玩弄了一下。有没有办法知道WebView的高度,所以我可以更新WebView框架的高度
    猜你喜欢
    • 1970-01-01
    • 2019-08-07
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 2017-10-02
    相关资源
    最近更新 更多