无法滚动放置在ScrollView中的LinearLayout

时间:2014-09-24 17:42:08

标签: android scrollview android-linearlayout

我在Stackoverflow中提到了与此主题相关的大部分问题,并成功将我的线性布局放在ScrollView中。但是我无法滚动它。我的活动大纲是 -

enter image description here

以下是ScrollView的XML代码 -

<ScrollView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1" >

                <LinearLayout
                    android:id="@+id/linearLayoutUP1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5dp"
                    android:layout_weight="1"
                    android:orientation="vertical" >

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="5dp"
                        android:orientation="vertical" >

                        <TextView
                            android:id="@+id/textViewUP1"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:background="@color/Chocolate"
                            android:gravity="center"
                            android:padding="10dp"
                            android:text=" "
                            android:textAppearance="?android:attr/textAppearanceLarge"
                            android:textColor="@color/Black"
                            android:textStyle="bold" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="5dp"
                        android:orientation="vertical" >

                        <TextView
                            android:id="@+id/textViewUP2"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:background="@color/Chocolate"
                            android:gravity="center"
                            android:padding="10dp"
                            android:text="User ID : "
                            android:textColor="@color/White"
                            android:textSize="16sp"
                            android:textStyle="bold" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="5dp"
                        android:orientation="vertical" >

                        <TextView
                            android:id="@+id/textViewUP4"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:background="@color/Chocolate"
                            android:gravity="center"
                            android:padding="10dp"
                            android:text="Gender : "
                            android:textColor="@color/White"
                            android:textSize="16sp"
                            android:textStyle="bold" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="5dp"
                        android:orientation="vertical" >

                        <TextView
                            android:id="@+id/textViewUP3"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:background="@color/Chocolate"
                            android:gravity="center"
                            android:padding="10dp"
                            android:text="Your Groups"
                            android:textColor="@color/White"
                            android:textSize="16sp"
                            android:textStyle="bold" />

                        <GridView
                            android:id="@+id/gridViewUP1"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:numColumns="1"
                            android:padding="5dp" >
                        </GridView>
                    </LinearLayout>
                </LinearLayout>
                </ScrollView>

正如您所看到的,在最后一个LinearLayout中有一个GridView。在添加ScrollView之前,此GridView是可滚动的。添加ScrollView后,无法滚动名为“linearLayoutUP1”的布局。如何使其垂直滚动?

3 个答案:

答案 0 :(得分:2)

我认为在Android中嵌套可滚动视图被认为是糟糕的设计,可能无法正常工作。 GridViews本质上是可滚动的。

如果您想保留它,请尝试查看此处:Problems with GridView inside ScrollView in android

答案 1 :(得分:1)

尝试将第一个LinearLayout..ie更改wrap_content的高度硬编码到大约1000dp左右。这将使其可滚动。我不确定这是否是解决问题的正确方法。但是当我遇到同样的情况时,我告诉你我做了什么。

此外,如果您使用android:theme="@android:style/Theme.NoTitleBar.Fullscreen" ..将其更改为android:theme="@android:style/Theme.NoTitleBar" ..,而不是全屏...

再次,检查清单中是否有android:windowSoftInputMode="adjustPan"活动标记。如果删除后,请尝试尝试。

当我遇到类似的情况时,这些是我尝试和工作的解决方案。

android活动总是开始滚动到底部 - 为了解决这个问题,请将android:focusableInTouchMode="true"添加到LinearLayout ..

答案 2 :(得分:0)

不建议您在ScrollView中使用任何类型的可滚动视图。

您可能希望在您的情况下查看此内容,看看它是否有效。

http://lubosplavucha.com/java/2014/05/05/gridview-scrollview-issue/