为什么我的 Android 滚动视图不滚动?

Why is my Android Scrollview not scrolling?

由于某种原因,滚动没有被激活。我想让那个黑色的地方也覆盖一半的屏幕。但是,如果我更改 ScrollView 的高度以包裹内容,那么这个黑色 space 就会消失。

这个黑色 space 会有照片,所以我需要它至少遮盖一半。

我为它使用了布局权重,但是因为图片是动态加载的,所以我必须保留 space。目前在此代码中它保留了一半的屏幕,但 Scrool 没有被激活并且其他项目不可见。

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#e0e0e0"
android:fadeScrollbars="false"
android:fillViewport="true"
tools:context="com.example.Test.MainActivity">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#e0e0e0"
    android:orientation="vertical"
    android:weightSum="4">


    <LinearLayout
        android:id="@+id/level1"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2"
        android:background="#e0e0e0"
        android:orientation="vertical">

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"

            android:background="@color/vk_white">


            <android.support.v4.view.ViewPager
                android:id="@+id/pager"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:background="@color/black"
                android:scaleType="fitXY" />


        </FrameLayout>


    </LinearLayout>

    <LinearLayout
        android:id="@+id/level2"
        android:layout_width="match_parent"
        android:layout_height="0dp"

        android:layout_weight="2"
        android:background="@color/vk_white"
        android:orientation="vertical">

        <TextView
            android:id="@+id/temelBilgilerInfo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="18dp"
            android:text="@string/temelbilgileriinfo"
            android:textColor="@android:color/black"
            android:textSize="20dp" />

        <View
            android:id="@+id/layout_root"
            android:layout_width="fill_parent"
            android:layout_height="1dip"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/temelBilgilerInfo"
            android:background="@drawable/ruhesi_lines" />

        <EditText
            android:id="@+id/birthday_edit"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/layout_root"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthday"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />

        <EditText
            android:id="@+id/birthday_edit1"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthday"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />

        <EditText
            android:id="@+id/birthday_edit2"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit1"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthday"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />

        <EditText
            android:id="@+id/birthday_edit3"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit2"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthday"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />


        <EditText
            android:id="@+id/birthday_edit4"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit3"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthday1"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />

        <EditText
            android:id="@+id/birthday_edit5"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit4"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthday123213"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />

        <EditText
            android:id="@+id/birthday_edit7"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit6"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthdayasdasdasd"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />


        <EditText
            android:id="@+id/birthday_edit8"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit7"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthdayasdasdasd"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />
        android:gravity="center_horizontal"/>

        <EditText
            android:id="@+id/birthday_edit9"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit8"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthdayasdasdasd"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />


        <EditText
            android:id="@+id/birthday_edit10"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit9"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthdayasdasdasd"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />


        <EditText
            android:id="@+id/birthday_edit11"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit10"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthdayasdasdasd"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />


        <EditText
            android:id="@+id/birthday_edit12"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit11"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthdayasdasdasd"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />


        <EditText
            android:id="@+id/birthday_edit13"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit12"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter asd"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />


    </LinearLayout>


</LinearLayout>
</ScrollView>

Not working

我检查了你的 xml 布局,发现你没有正确关闭 ScrollView。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#e0e0e0"
    android:orientation="vertical"
       >
            <android.support.v4.view.ViewPager
                android:id="@+id/pager"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:scaleType="fitXY" />

        <TextView
            android:id="@+id/temelBilgilerInfo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="18dp"

            android:textColor="@android:color/black"
            android:textSize="20dp" />

        <View
            android:id="@+id/layout_root"
            android:layout_width="fill_parent"
            android:layout_height="1dip"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/temelBilgilerInfo"
            />

        <EditText
            android:id="@+id/birthday_edit"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/layout_root"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthday"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />

        <EditText
            android:id="@+id/birthday_edit1"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthday"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />

        <EditText
            android:id="@+id/birthday_edit2"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit1"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthday"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />

        <EditText
            android:id="@+id/birthday_edit3"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit2"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthday"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />


        <EditText
            android:id="@+id/birthday_edit4"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit3"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthday1"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />

        <EditText
            android:id="@+id/birthday_edit5"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit4"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthday123213"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />

        <EditText
            android:id="@+id/birthday_edit7"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit6"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthdayasdasdasd"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />


        <EditText
            android:id="@+id/birthday_edit8"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit7"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthdayasdasdasd"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />
        android:gravity="center_horizontal"/>

        <EditText
            android:id="@+id/birthday_edit9"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit8"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthdayasdasdasd"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />


        <EditText
            android:id="@+id/birthday_edit10"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit9"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthdayasdasdasd"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />


        <EditText
            android:id="@+id/birthday_edit11"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit10"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthdayasdasdasd"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />


        <EditText
            android:id="@+id/birthday_edit12"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit11"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter Birthdayasdasdasd"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />


        <EditText
            android:id="@+id/birthday_edit13"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/birthday_edit12"
            android:layout_centerHorizontal="true"
            android:layout_centerInParent="true"
            android:ellipsize="start"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Enter asd"
            android:inputType="date"
            android:textColor="#000000"
            android:textColorHint="#DDAAAAAA" />
</LinearLayout>

</ScrollView>

此代码位于您的 Scrollview 中,希望对您有所帮助!!!!!!!!!!

答案也位于:

ScrollView with two views, first view filling screen

我所做的是以编程方式为寻呼机安排 space。其他答案的这一部分对我很有用。

    layout = (LinearLayout)findViewById(R.id.linlayout);
        f1=(FrameLayout) findViewById(R.id.f1);
        f2=(FrameLayout) findViewById(R.id.f2);
        ViewTreeObserver vto = layout.getViewTreeObserver(); 
        vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 
            @Override 
            public void onGlobalLayout() { 
                layout.getViewTreeObserver().removeGlobalOnLayoutListener(this); 
                int width  = layout.getMeasuredWidth();
                int height = layout.getMeasuredHeight(); 

                f1.setLayoutParams(new LayoutParams(width, height));
                f2.setLayoutParams(new LayoutParams(width, height));
            } 
        });