如何让android页面中的所有内容都搞砸了

时间:2015-10-15 05:21:44

标签: android

在我的Android应用程序页面中,我使用了一个滑块,textview和一个gridview来显示图像。现在的问题是,当我向上滚动时,只有gridview图像滚动,其余的东西保持静止。请帮助我如何在滚动时让页面的所有内容都移动?

DetailViewController

2 个答案:

答案 0 :(得分:2)

将所有代码放在滚动视图中,使用以下代码

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

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

            <ViewFlipper
                android:id="@+id/viewFlipper1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >

                <ImageView
                    android:layout_width="fill_parent"
                    android:layout_height="150dp"
                    android:src="@drawable/one" />
                <ImageView
                    android:layout_width="fill_parent"
                    android:layout_height="150dp"
                    android:src="@drawable/two" />

                <ImageView
                    android:layout_width="fill_parent"
                    android:layout_height="150dp"
                    android:src="@drawable/three" />

                <ImageView
                    android:layout_width="fill_parent"
                    android:layout_height="150dp"
                    android:src="@drawable/banner1" />

                <ImageView
                    android:layout_width="fill_parent"
                    android:layout_height="150dp"
                    android:src="@drawable/banner2" />

                <ImageView
                    android:layout_width="fill_parent"
                    android:layout_height="150dp"
                    android:src="@drawable/banner3" />

                <ImageView
                    android:layout_width="fill_parent"
                    android:layout_height="150dp"
                    android:src="@drawable/banner4" />

            </ViewFlipper>

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Shop For"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:layout_marginLeft="100dp" />

            <GridView
                android:id="@+id/gridView1"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:columnWidth="150dp"
                android:gravity="center"
                android:horizontalSpacing="1dp"
                android:numColumns="2"
                android:padding="28dp"
                android:stretchMode="none"
                android:verticalSpacing="1dp"
                android:visibility="visible" />

        </LinearLayout>

    </ScrollView>

如果您有任何问题,请随时发表评论。

答案 1 :(得分:1)

修改你的布局xml文件,如下所示,它会解决你的问题,我想。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <ViewFlipper
            android:id="@+id/viewFlipper1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="150dp"
                android:src="@drawable/one" />
            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="150dp"
                android:src="@drawable/two" />

            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="150dp"
                android:src="@drawable/three" />

            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="150dp"
                android:src="@drawable/banner1" />

            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="150dp"
                android:src="@drawable/banner2" />

            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="150dp"
                android:src="@drawable/banner3" />

            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="150dp"
                android:src="@drawable/banner4" />
        </ViewFlipper>

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Shop For"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:layout_marginLeft="100dp" />

        <GridView
            android:id="@+id/gridView1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:columnWidth="150dp"
            android:gravity="center"
            android:horizontalSpacing="1dp"
            android:numColumns="2"
            android:padding="28dp"
            android:stretchMode="none"
            android:verticalSpacing="1dp"
            android:visibility="visible" >
        </GridView>
    </LinearLayout>
</ScrollView>

这可能是因为您没有使用ScrollViewScrollView应该只包含一个子视图。因此,使用LinearLayout作为所有其他视图的父视图,并将此LinearLayout用作ScrollView的子视图。

此外Gridview本身也是Scrollview,因此在您的情况下GridView正在滚动但其他视图未滚动。