ScrollView中顶部的控件被挤出去了,怎么破?!

ScrollView中的控件非常多,超过当前屏幕后,底部再增加控件后,将最上面的控件挤出去了。代码如下:

android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:gravity="center" >

<TextView
    android:id="@+id/title"
    style="@style/MyTitle"
    android:layout_width="match_parent"
    android:layout_height="@dimen/tab_height"
    android:layout_alignParentTop="true"
    android:text="@string/settings" />

<ScrollView
    android:id="@+id/mScrollView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/title"
    android:background="@color/dark_gray" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:gravity="fill_vertical"
        android:orientation="vertical" >

        <LinearLayout
            android:id="@+id/my_account_login"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:background="@android:color/white"
            android:paddingBottom="@dimen/padding_bottom_top"
            android:paddingLeft="@dimen/padding_left_right"
            android:paddingRight="@dimen/padding_left_right"
            android:paddingTop="@dimen/padding_bottom_top" >

            <include layout="@layout/account_login" />
        </LinearLayout>

        <View
            android:id="@+id/divider2"
            android:layout_width="match_parent"
            android:layout_height="10dp"
            android:background="@color/divid_bg" />

        <LinearLayout
            android:id="@+id/mode"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/white"
            android:paddingBottom="@dimen/padding_bottom_top"
            android:paddingLeft="@dimen/padding_left_right"
            android:paddingRight="@dimen/padding_left_right"
            android:paddingTop="@dimen/padding_bottom_top" >

            <include layout="@layout/mode_module" />
        </LinearLayout>

        <View
            android:id="@+id/divider3"
            android:layout_width="match_parent"
            android:layout_height="10dp"
            android:background="@color/divid_bg" />

        <LinearLayout
            android:id="@+id/my_about_Pro"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/white"
            android:paddingBottom="@dimen/padding_bottom_top"
            android:paddingLeft="@dimen/padding_left_right"
            android:paddingRight="@dimen/padding_left_right"
            android:paddingTop="@dimen/padding_bottom_top" >

            <include layout="@layout/about_pro_module" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/introduction"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/white" >

            <include layout="@layout/introduction_module" />
        </LinearLayout>
    </LinearLayout>
</ScrollView>


问题:最下面的LinearLayout距上面的间距(Margin)过大时,最上面的控件LinearLayout(my_account_login)就消失了。

最后一个LinearLayout(introduction)在向下拉动ScrollView时才显示出来,其他的LinearLayout不拉动直接显示出来。请各位看官给点提示,多谢啦!!!

2个回答

已解决。因为introduction_module布局中最顶层的控件没有居中,加上android:gravity="center"后,再调margin就没问题。

最上面控件消失怎么理解。如果margin过大时,如果scrollview往下拉,可不当前的linearlayout吗?和上一个之间距离都被margin占用了。

s2c2010
s2c2010 最顶部的控件呈现不出来,即使ScrollView往下拉也看不到。屏幕的高度有限,当控件高度超过屏幕时,顶端的控件就被挤得看不到了。
大约 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问