Android - ScrollView不滚动

时间:2015-08-13 16:46:33

标签: android scrollview

我遇到了scrollview的问题。它不起作用。

我在某处读到你应该在ScrollView中只有一个子视图,这可能是问题,但我需要一些水平线。我在一个视图中代表他们。您可以在我的代码中看到RelativeLayout里面的两个视图,它们位于ScrollView中。

更新

    <?xml version="1.0" encoding="utf-8"?>

<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:background="@drawable/url"
        >

    <ScrollView 
        android:layout_width="match_parent"
        android:layout_height="2000dp"
        android:layout_alignParentTop="true">

        <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">

             <com.android.volley.toolbox.NetworkImageView
                android:id="@+id/slika"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_above="@+id/textView1"
                android:layout_marginBottom="37dp"
                android:layout_alignParentLeft="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true"
                android:src="@drawable/ic_horor_filmovi_ikonica" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/slika"
                android:layout_alignParentBottom="true"
                android:layout_alignRight="@+id/slika"
                android:layout_marginBottom="64dp"
                android:text="Orginalni naslov:"
                android:textAppearance="?android:attr/textAppearanceLarge" />

            <TextView
                android:id="@+id/naslov"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/textView1"
                android:layout_alignRight="@+id/slika"
                android:layout_alignTop="@+id/textView1"
                android:layout_marginTop="26dp"
                android:text="Large Text"
                android:textAppearance="?android:attr/textAppearanceLarge" />

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/naslov"
                android:layout_alignRight="@+id/naslov"
                android:layout_below="@+id/naslov"
                android:layout_marginTop="18dp"
                android:text="Početak prikazivanja filma:"
                android:textAppearance="?android:attr/textAppearanceLarge" />

            <TextView 
                android:id="@+id/datum_prikazivanja_filma"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/textView2"
                android:layout_alignRight="@+id/textView2"
                android:layout_marginBottom="10dp"
                android:layout_below="@+id/textView2"
                />

            <TextView 
                android:id="@+id/textView3"
                android:layout_marginTop="10dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/datum_prikazivanja_filma"
                android:layout_alignRight="@+id/datum_prikazivanja_filma"
                android:layout_below="@+id/datum_prikazivanja_filma"
                />

            <View
                 android:id="@+id/view"
                 android:layout_alignLeft="@+id/textView3"
                 android:layout_alignRight="@+id/textView3"
                 android:layout_width="fill_parent"
                 android:layout_height="1dp"
                 android:background="#c0c0c0"
                 android:layout_below="@+id/textView3"/>

            <ImageButton 
                android:id="@+id/Button1"
                android:background="@drawable/circle"
                android:drawableLeft="@drawable/ic_horor_filmovi_ikonica"
                android:drawableStart="@drawable/ic_horor_filmovi_ikonica"
                android:layout_marginTop="16dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/view"/>

            <TextView 
                android:id="@+id/ime1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/Button1"
                android:layout_alignLeft="@+id/Button1"
                android:layout_alignRight="@+id/Button1"
                android:text="Ime"/>

            <ImageButton 
                android:id="@+id/Button2"
                android:background="@drawable/circle"
                android:drawableRight="@drawable/ic_horor_filmovi_ikonica"
                android:drawableEnd="@drawable/ic_horor_filmovi_ikonica"
                android:layout_marginTop="16dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/view"/>

            <TextView 
                android:id="@+id/ime2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/Button2"
                android:layout_alignLeft="@+id/Button2"
                android:layout_alignRight="@+id/Button2"
                android:text="Ime"/>

            <ImageButton 
                android:id="@+id/Button3"
                android:background="@drawable/circle"
                android:drawableLeft="@drawable/ic_horor_filmovi_ikonica"
                android:drawableStart="@drawable/ic_horor_filmovi_ikonica"
                android:layout_marginTop="16dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/view"/>

            <TextView 
                android:id="@+id/ime3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/Button3"
                android:layout_alignLeft="@+id/Button3"
                android:layout_alignRight="@+id/Button3"
                android:text="Ime"/>

            <View
                 android:id="@+id/view2"
                 android:layout_width="fill_parent"
                 android:layout_height="1dp"
                 android:background="#c0c0c0"
                 android:layout_below="@+id/ime3"/>

            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/view2"
                android:layout_alignRight="@+id/view2"
                android:layout_below="@+id/view2"
                android:layout_marginTop="18dp"
                android:text="Opis filma:"
                android:layout_centerHorizontal="true"
                android:textAppearance="?android:attr/textAppearanceLarge" />

        </RelativeLayout>
    </ScrollView>              
</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

您的ScrollView身高似乎设为fill_parent。首先,您应该始终使用match_parent。其次,滚动视图永远不会滚动,除非它实际上比其父视图更大

因此,请尝试将ScrollView的高度设置为WRAP_CONTENT,以便将其扩展为RelativeLayout的完整大小。

答案 1 :(得分:1)

  

我在某处读到你应该在ScrollView

中只有一个子视图

ScrollView应该始终拥有一个孩子,这正是你正在做的事情。

了解问题

看看你ScrollView的孩子,这是你的RelativeLayout

一开始,您将其定义为width,其中matche是其父级(ScrollView),height大到wrap_content

   <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
   </RelativeLayout>

如果将其配置为与ScrollView相同的尺寸,您希望如何滚动任何内容?

解决方案

你需要使用这样的东西:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">


<ScrollView
    android:layout_width="match_parent"
    android:layout_height="2000dp"
    android:id="@+id/scrollView2"
    android:layout_alignParentTop="true"
    android:layout_alignParentStart="true" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Text"
            android:id="@+id/textView114"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="127dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Text"
            android:id="@+id/textView117"
            android:layout_below="@+id/textView114"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="268dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Text"
            android:id="@+id/textView118"
            android:layout_below="@+id/textView117"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="1200dp" />
    </RelativeLayout>
</ScrollView>