4

I am having trouble using ScrollView. For some strange reason, it is hiding the content to be displayed on the top. I tried giving margin, padding, etc. but nothing seems to work. This is my layout:

    <?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>

My image is getting hidden behind the top titlebar and only a small part of its bottom is visible in the device/emulator. It appears fine in Eclipse. I am using ADT11

Thanks in advance!

mvrck
  • 512
  • 1
  • 4
  • 18

3 Answers3

11

Hi I had the same problem, and after investigation I have found the solution, and in your XML code I can see that you are doing the same mistake in layout.

The problem is that you are setting the ScrollView child (LinearLayout) layout_gravity to center. Remove this line and it should work for you.

android:layout_gravity="center"   //remove this 
user3098756
  • 340
  • 4
  • 10
  • 1
    I found a real solution for the problem: http://stackoverflow.com/a/12181589/2311557 Pretty simple. :) – codepleb Sep 20 '14 at 22:30
-1

I think you want something like this:

<?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>
Paresh Mayani
  • 127,700
  • 71
  • 241
  • 295
  • 5
    Could you edit this to say exactly what the problem was? As it is, it's very difficult to tell; you've given the OP an answer that doesn't help many other people! – senderle Feb 03 '14 at 14:39
-2

Add android:layout_weight="1" to your scrollview. It will resolve the problem. Something like this

 <ScrollView
        android:id="@+id/scroll"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_weight="1" >
Joseph Selvaraj
  • 2,225
  • 1
  • 21
  • 21
  • Be careful when posting copy and paste boilerplate/verbatim answers to multiple questions, these tend to be flagged as "spammy" by the community. If you're doing this then it usually means the questions are duplicates so flag them as such instead. – Kev May 18 '12 at 12:55