2016-01-20 127 views
6

我创建了一个包含一个地图,图像和其他文本视图的活动,并且我为它添加了“scrollview”标签......但是在活动开始后,它会滚动到页面自动结束....请告诉我为什么发生这种情况,以及如何阻止它移动到结束,所以我可以自己滚动。Android ScrollView自动滚动到视图的底部

这是我的代码:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:orientation="vertical" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="com.radikallab.earch.DetailsActivity" 
android:background="@drawable/background10"> 


<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 


    <TextView 
     android:id="@+id/title" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:textSize="25dp" 
     android:text="Title" 
     android:textStyle="italic"/> 

    <ImageView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:src="@drawable/background4" 
     android:id="@+id/iv"/> 


    <TextView 
     android:id="@+id/rat" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:textSize="20sp" 
     android:text="Title" 
     android:textStyle="italic"/> 

    <TextView 
     android:id="@+id/addr" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:textSize="17sp" 
     android:text="Title" 
     android:textStyle="italic"/> 

    <WebView 

     android:layout_width="match_parent" 
     android:layout_height="500dp" 
     android:layout_marginTop="10dp" 
     android:id="@+id/webView" 
     android:layout_gravity="center_horizontal" /> 
</LinearLayout> 

回答

1

设置的android:focusableInTouchMode在你的线性布局= “真”:

<LinearLayout 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:focusableInTouchMode="true" 
android:layout_height="match_parent"> 
0

事实上,我们将面临如果孩子滚动问题里面ScrollView支持滚动也像ListView和你的情况WebView

我发现了一些类似的问题,并提供了一些解决方法。它支持垂直滚动,但如果HTML页面的宽度超过WebView宽度,则不支持水平滚动。

请参阅this以供参考。

17

我也面临同样的情况,但将descendantFocusability属性添加到包含LinearLayout的ScrollView,解决了我的问题。

android:descendantFocusability="blocksDescendants" 

您可以使用此为:

<LinearLayout 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:orientation="vertical" 
android:descendantFocusability="blocksDescendants" > 
+0

这是一个正确的答案,tks! – elirigobeli

0

其实我发现这一个简单的答案,只需加上“setfocusable(假)”中的相关的Java文件.....在这种情况下, “webview”因为它的滚动首先....所以在相关的webview java类中添加“webview.setfocusable(false)”。

相关问题