如果我的WebView太大,我没有问题,即使内容如此之大,WebView高度也适合屏幕高度我可以滚动WebView的内容。 但是,如果WebView的内容很少,则WebView高度不适合屏幕。
这是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ScrollView android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fitsSystemWindows="true">
<WebView android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fitsSystemWindows="true" />
</ScrollView>
<LinearLayout android:id="@+id/media_player"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="visible">
<Button android:textStyle="bold"
android:id="@+id/ButtonPlayStop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:drawable/ic_media_play" />
<SeekBar android:id="@+id/SeekBar"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_below="@id/ButtonPlayStop" />
</LinearLayout>
以下是截图:
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:8)
您不需要在WebView
内放置ScrollView
,因为它已经知道当其内容大于其视图边界时如何滚动。在其他滚动视图中放置滚动视图往往会导致不良行为。
如果内容太小,ScrollView
忽略一秒钟,ScrollView
将不会伸展自己以占用额外的空白空间。也就是说,除非使用特殊标志(android:fillViewport)。
作为一种解决方案,我会删除外部WebView
并尝试让RelativeLayout
自行占用空间。如果使用fill_parent
作为容器,则只能使用一个深度级别来获取此布局:
WebView位于其上方,宽度和高度为<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button android:textStyle="bold"
android:id="@+id/ButtonPlayStop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@android:drawable/ic_media_play" />
<SeekBar android:id="@+id/SeekBar"
android:layout_toRightOf="@+id/ButtonPlayStop"
android:layout_alignParentBottom="true"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_below="@id/ButtonPlayStop" />
<WebView android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@id/ButtonPlayStop" />
</RelativeLayout>
{{1}}