Question

Basically it's a page of text and pics with ads at the bottom. It works fine on smaller devices like phones, but on larger like tablets there is a problem....more of a user dislike thing.

If the content of page is small then ads, which comes correctly at the end of content actually comes in the middle of the screen.

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/scrollView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >


      <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

<TextView
    android:id="@+id/vnaslov"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/ad"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="5dp"
    android:layout_marginLeft="7dp"
    android:gravity="left"
    android:textSize="21sp"
    android:textStyle="bold" />

<TextView
    android:id="@+id/vautor"
    android:layout_below="@+id/vnaslov"
    android:layout_alignParentLeft="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="5dp"
     />

<TextView
    android:id="@+id/vdatum"
    android:layout_toRightOf="@+id/vautor"
    android:layout_below="@+id/vnaslov"
    android:layout_alignParentRight="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="5dp"
     />

<TextView
    android:id="@+id/vlid"
    android:layout_below="@+id/vdatum"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="5dp"
    android:gravity="left"
    android:layout_marginLeft="7dp"
    android:textSize="16sp"
    android:textStyle="bold"
     />

<com.loopj.android.image.SmartImageView
    android:id="@+id/vslika"
    android:layout_below="@+id/vlid"
    android:layout_width="match_parent"
    android:layout_height="180dp"
    android:layout_margin="5dp"
     />


<TextView
    android:id="@+id/vtijelo"
    android:layout_below="@+id/vslika"
    android:layout_margin="5dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="left"
    android:layout_marginLeft="7dp"
    android:textSize="16sp"  />

<Button
    android:id="@+id/videobutton"
    android:layout_below="@+id/vtijelo"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:text="@string/dugme_video"/>

<ProgressBar
    android:id="@+id/progressBar1"
    style="?android:attr/progressBarStyleLarge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true" />

 <com.google.ads.doubleclick.DfpAdView
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:id="@+id/adView"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adUnitId="xxxxxxxxxxxxxxxxxxxxxx"
ads:adSize="BANNER"
ads:loadAdOnCreate="true"/>

    </RelativeLayout>
</ScrollView>

It works if it's simple like this...

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true" >

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

    <LinearLayout
        android:id="@+id/wrap"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:gravity="left"
            android:text="TextView"
            android:textSize="16sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:gravity="left"
            android:text="TextView"
            android:textSize="16sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:text="TextView"
            android:textSize="16sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:text="TextView"
            android:textSize="16sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/textView5"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:text="TextView"
            android:textSize="16sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/textView6"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:text="TextView"
            android:textSize="16sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/textView7"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:text="TextView"
            android:textSize="15sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/textView8"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:gravity="left"
            android:text="TextView"
            android:textSize="16sp"
            android:textStyle="bold" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/lin2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal" >

        <Button
            android:id="@+id/but1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="But1" >
        </Button>

        <Button
            android:id="@+id/but2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="But2" >
        </Button>
    </LinearLayout>
 </LinearLayout>

 </ScrollView>`

But not if it's filled with my content like the above in my question. First linearlayout with content up to the ad, and second with just the ad...

How would the content inside linearlayout be a problem?

Why?

Was it helpful?

Solution

The trick is to use layout_weight="1" and fillViewport="true" on the ScrollView.

This should do the trick:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativemain"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ScrollView
        android:id="@+id/scrollmain"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:fillViewport="true" >

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

            <LinearLayout
                android:id="@+id/wrap"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:orientation="vertical" >

                //put your content here

            </LinearLayout>

            <LinearLayout
                android:id="@+id/myadv"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:gravity="center_horizontal" >

                //this is your advertisement

            </LinearLayout>
        </LinearLayout>
    </ScrollView>
</LinearLayout>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top