Android滚动视图隐藏顶部内容

4

我在使用ScrollView时遇到了问题。不知何故,它隐藏了要显示在顶部的内容。我尝试过设置margin、padding等,但似乎都无效。这是我的布局:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:orientation="vertical" android:background="@drawable/background">
    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:background="@drawable/titlebar"
        android:id="@+id/titlebar">
        <TextView android:layout_width="fill_parent" android:id="@+id/textView1"
            android:layout_height="fill_parent" android:layout_gravity="center"
            android:gravity="center" android:textColor="@color/white"
            android:textSize="20dip" android:text="Help"></TextView>
    </LinearLayout>
    <ScrollView android:layout_height="wrap_content" android:id="@+id/scrollView1"
        android:layout_width="fill_parent">
        <LinearLayout android:orientation="vertical" android:id="@+id/linearLayout2"
            android:gravity="center" android:layout_width="fill_parent"
            android:layout_gravity="center" android:layout_height="fill_parent"
            android:paddingLeft="10dip" android:paddingRight="5dip">
            <ImageView android:layout_height="wrap_content"
                android:src="@drawable/icon" android:layout_marginTop="10dip"
                android:id="@+id/help_icon" android:layout_width="fill_parent"
                android:layout_marginBottom="15dip"></ImageView>
            <TextView android:layout_height="wrap_content"
                android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dapibus venenatis suscipit.\n\nCras lacus sem, cursus a dictum sed, condimentum quis urna. Ut vel metus lorem, quis semper lacus. Suspendisse eu urna massa, a blandit mi. "
                android:id="@+id/help_text" android:layout_width="wrap_content"
                android:textColor="@color/black" android:textSize="15dip"
                android:paddingBottom="10dip"></TextView>
        </LinearLayout>
    </ScrollView>
</LinearLayout>

我的图片被顶部标题栏遮挡,只有底部的一小部分在设备/模拟器中可见。但在Eclipse中显示正常。我正在使用ADT11。
提前致谢!

你使用的是哪个版本的ADT?在我开始使用ADT11之前,我从来没有遇到过任何关于滚动视图的问题。 - mvrck
请问您能否尽可能地发布快照? - Paresh Mayani
@Paresh - http://imageshack.us/photo/my-images/696/scrollbarp.png/ - mvrck
默认的Android图像在TextView上方,但它不可见。 - mvrck
可能是以下问题的重复:Android scrollview hiding top content in layout - Itiel Maimon
3个回答

11

你好,我曾经也遇到过同样的问题。经过研究,我找到了解决方法,并且在你的XML代码中,我发现你在布局上犯了同样的错误。

问题是你把ScrollView的子元素(LinearLayout)的layout_gravity设置为center。把这一行删除就可以解决问题。

android:layout_gravity="center"   //remove this 

1
我找到了一个真正的解决方案:https://dev59.com/T2fWa4cB1Zd3GeqPktTR#12181589 非常简单。 :) - codepleb

-1
我想你想要类似这样的东西:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:orientation="vertical">
    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:id="@+id/titlebar">
        <TextView android:layout_width="fill_parent" android:id="@+id/textView1"
            android:layout_height="wrap_content" android:layout_gravity="center"
            android:gravity="center" android:textColor="@android:color/white"
            android:textSize="20dip" android:text="Help"></TextView>

                 <ImageView android:layout_height="wrap_content"
                android:src="@drawable/icon" android:layout_marginTop="10dip"
                android:id="@+id/help_icon" android:layout_width="fill_parent"
                android:layout_marginBottom="15dip"></ImageView>
    </LinearLayout>
    <ScrollView android:layout_height="match_parent" android:id="@+id/scrollView1"
        android:layout_width="fill_parent">
        <LinearLayout android:orientation="vertical" android:id="@+id/linearLayout2"
            android:gravity="center" android:layout_width="fill_parent"
             android:layout_height="fill_parent"
            android:paddingLeft="10dip" android:paddingRight="5dip">

            <TextView android:layout_height="wrap_content"
                android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dapibus venenatis suscipit.\n\nCras lacus sem, cursus a dictum sed, condimentum quis urna. Ut vel metus lorem, quis semper lacus. Suspendisse eu urna massa, a blandit mi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dapibus venenatis suscipit.\n\nCras lacus sem, cursus a dictum sed, condimentum quis urna. Ut vel metus lorem, quis semper lacus. Suspendisse eu urna massa, a blandit mi.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dapibus venenatis suscipit.\n\nCras lacus sem, cursus a dictum sed, condimentum quis urna. Ut vel metus lorem, quis semper lacus. Suspendisse eu urna massa, a blandit mi.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dapibus venenatis suscipit.\n\nCras lacus sem, cursus a dictum sed, condimentum quis urna. Ut vel metus lorem, quis semper lacus. Suspendisse eu urna massa, a blandit mi.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dapibus venenatis suscipit.\n\nCras lacus sem, cursus a dictum sed, condimentum quis urna. Ut vel metus lorem, quis semper lacus. Suspendisse eu urna massa, a blandit mi.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dapibus venenatis suscipit.\n\nCras lacus sem, cursus a dictum sed, condimentum quis urna. Ut vel metus lorem, quis semper lacus. Suspendisse eu urna massa, a blandit mi."
                android:id="@+id/help_text" android:layout_width="wrap_content"
                android:textColor="@android:color/white" android:textSize="15sp"
                android:paddingBottom="10dip"></TextView>
        </LinearLayout>
    </ScrollView>
</LinearLayout>

5
您能编辑一下,确切地说出问题是什么吗?现在很难确定问题所在;您给了提问者一个对其他人没有帮助的答案! - senderle

-1
将 android:layout_weight="1" 添加到您的滚动视图中,它将解决问题。类似这样:
 <ScrollView
        android:id="@+id/scroll"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_weight="1" >

在发布复制粘贴的样板/逐字回答多个问题时要小心,社区往往会将其标记为“垃圾邮件”。如果您这样做,通常意味着这些问题是重复的,请将它们标记为重复。 - Kev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接