另一个scrollview内的scrollview无效

时间:2014-10-16 06:52:34

标签: android android-layout scrollview

我已将Vertical scrollview添加到Layout(xml)文件中的另一个现有垂直scrollview。但它没有用。只有外部scrollview正在运行。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="fill_parent">
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/outer_linear_layout"
    android:orientation="vertical"
    android:isScrollContainer="true">
    <RelativeLayout
        android:id="@+id/blue_bg_layout_sa"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/bluebg_320_568">
        <ImageView
            android:id="@+id/logo_img_view_sa"
            android:layout_height="150dp"
            android:layout_width="250dp"
            android:layout_marginTop="20dp"
            android:background="@drawable/logo_home_250_150"
            android:layout_centerHorizontal="true" />
        <ScrollView
            android:id="@+id/claim_tiles_scroll_view"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_below="@id/logo_img_view_sa">
            <LinearLayout
                android:orientation="vertical"
                android:layout_width="wrap_content"
                android:layout_height="300dp">
            <ImageView
                android:id="@+id/windshield_btn"
                android:layout_height="87dp"
                android:layout_width="105dp"
                android:layout_marginTop="5dp"
                android:background="@drawable/windshield_105_87"
                android:onClick="showClaimForm"/>
            <TextView
                android:id="@+id/windshield_btn_lbl"
                android:layout_width="105dp"
                android:layout_height="20dp"
                android:text="@string/windshield"
                android:textColor="@android:color/white"
                android:layout_below="@id/windshield_btn"
                android:layout_alignStart="@id/windshield_btn"
                android:textSize="@dimen/system12"
                android:gravity="center"/>
            <ImageView
                android:id="@+id/pdr_btn"
                android:layout_height="87dp"
                android:layout_width="105dp"
                android:layout_marginTop="5dp"
                android:background="@drawable/pdr_105_87"
                android:onClick="showClaimForm"/>
            <TextView
                android:id="@+id/pdr_btn_lbl"
                android:layout_width="105dp"
                android:layout_height="20dp"
                android:text="@string/pdr"
                android:textColor="@android:color/white"
                android:layout_below="@id/pdr_btn"
                android:layout_alignStart="@id/pdr_btn"
                android:textSize="@dimen/system12"
                android:gravity="center"/>
            <ImageView
                android:id="@+id/tire_btn"
                android:layout_height="87dp"
                android:layout_width="105dp"
                android:layout_marginTop="5dp"
                android:background="@drawable/tire_105_87"
                android:onClick="showClaimForm"/>
            <TextView
                android:id="@+id/tire_btn_lbl"
                android:layout_width="105dp"
                android:layout_height="20dp"
                android:text="@string/pdr"
                android:textColor="@android:color/white"
                android:layout_below="@id/tire_btn"
                android:layout_alignStart="@id/tire_btn"
                android:textSize="@dimen/system12"
                android:gravity="center"/>
            <ImageView
                android:id="@+id/wheel_btn"
                android:layout_height="87dp"
                android:layout_width="105dp"
                android:layout_marginTop="5dp"
                android:background="@drawable/wheel_105_87"
                android:onClick="showClaimForm"/>
            <TextView
                android:id="@+id/wheel_btn_lbl"
                android:layout_width="105dp"
                android:layout_height="20dp"
                android:text="@string/wheel"
                android:textColor="@android:color/white"
                android:layout_below="@id/wheel_btn"
                android:layout_alignStart="@id/wheel_btn"
                android:textSize="@dimen/system12"
                android:gravity="center"/>
            <ImageView
                android:id="@+id/key_btn"
                android:layout_height="87dp"
                android:layout_width="105dp"
                android:layout_marginTop="5dp"
                android:background="@drawable/key_replacement_105_87"
                android:onClick="showClaimForm"/>
            <TextView
                android:id="@+id/key_btn_lbl"
                android:layout_width="105dp"
                android:layout_height="20dp"
                android:text="@string/key"
                android:textColor="@android:color/white"
                android:layout_below="@id/key_btn"
                android:layout_alignStart="@id/key_btn"
                android:textSize="@dimen/system12"
                android:gravity="center"/>
            <ImageView
                android:id="@+id/gap_btn"
                android:layout_height="87dp"
                android:layout_width="105dp"
                android:layout_marginTop="5dp"
                android:background="@drawable/gap_105_87"
                android:onClick="showClaimForm"/>
            <TextView
                android:id="@+id/gap_btn_lbl"
                android:layout_width="105dp"
                android:layout_height="20dp"
                android:text="@string/gap"
                android:textColor="@android:color/white"
                android:layout_below="@id/gap_btn"
                android:layout_alignStart="@id/gap_btn"
                android:textSize="@dimen/system12"
                android:gravity="center"/>
            <ImageView
                android:id="@+id/interior_btn"
                android:layout_height="87dp"
                android:layout_width="105dp"
                android:layout_marginTop="5dp"
                android:background="@drawable/interior_protection_105_87"
                android:onClick="showClaimForm"/>
            <TextView
                android:id="@+id/interior_btn_lbl"
                android:layout_width="105dp"
                android:layout_height="20dp"
                android:text="@string/interior"
                android:textColor="@android:color/white"
                android:layout_below="@id/interior_btn"
                android:layout_alignStart="@id/interior_btn"
                android:textSize="@dimen/system12"
                android:gravity="center"/>
            <ImageView
                android:id="@+id/exterior_btn"
                android:layout_height="87dp"
                android:layout_width="105dp"
                android:layout_marginTop="5dp"
                android:background="@drawable/exterior_protection_105_87"
                android:onClick="showClaimForm"/>
            <TextView
                android:id="@+id/exterior_btn_lbl"
                android:layout_width="105dp"
                android:layout_height="20dp"
                android:text="@string/exterior"
                android:textColor="@android:color/white"
                android:layout_below="@id/exterior_btn"
                android:layout_alignStart="@id/exterior_btn"
                android:textSize="@dimen/system12"
                android:gravity="center"/>
            <ImageView
                android:id="@+id/theft_btn"
                android:layout_height="87dp"
                android:layout_width="105dp"
                android:layout_marginTop="5dp"
                android:background="@drawable/theft_105_87"
                android:onClick="showClaimForm"/>
            <TextView
                android:id="@+id/theft_btn_lbl"
                android:layout_width="105dp"
                android:layout_height="20dp"
                android:text="@string/theft"
                android:textColor="@android:color/white"
                android:layout_below="@id/theft_btn"
                android:layout_alignStart="@id/theft_btn"
                android:textSize="@dimen/system12"
                android:gravity="center"/>
            </LinearLayout>
        </ScrollView>
    </RelativeLayout>
 </LinearLayout>

请提供正确答案的帮助。 提前致谢

3 个答案:

答案 0 :(得分:0)

你不能这样做!

正如documentation所说:

  

ScrollView是一个FrameLayout,意味着你应该放置一个孩子   它包含要滚动的全部内容

如果你试试,你应该得到这个例外:

IllegalStateException "Scrollview can host only one direct child"

一种解决方案是将LinearLayout添加为直接子项,然后将其他ScrollView添加到其中。

答案 1 :(得分:0)

添加&#34; android:fillViewport&#34;归属于您的父ScrollView并将其设置为true。所以他们看起来像这样。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:fillViewport="true">

答案 2 :(得分:0)

您无法在可滚动视图中提供滚动功能。 这适用于所有视图。 例如。 1.ScrollView作为Parent和LisView作为孩子,反之亦然。 2.ScrollView为Parent,GridView为child,反之亦然。 3.Srollroll在ScrollView中。

解决方案: -

此滚动问题的唯一解决方案是: -

- &gt;您需要计算内部ScrollView的长度并使其变大。