views:

515

answers:

2

Hey,

I tried to use a background (480x320) for my tab content. Using a xml as drawable, I should be able to scale the image. This works fine outside the tabhost/tabactivity. If I try to use it inside the tabcontent, the scaleType doesn't work. He ignores every scaleType I tried.

tabcontent:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/background">

    <include layout="@layout/main_list" />
</RelativeLayout>

background.xml in res/drawable

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/background_img"
    android:scaleType="centerInside"/>

Of couse I checked if the xml is really used by changing the image, at the image changed so the xml is used.

The used scaling seems to be fitXY, because the whole background is visible but the aspect ration is ignored.

Some ideas?

+1  A: 

set the background to ur tabhost tag not in tabcontent layout. that is

<TabHost android:background="@drawable/background">
Praveen Chandrasekaran
I tried this, result: transparent tabs and I can't see the tab icons/text anymore (at least at the G2)
WarrenFaith
i tried just with the image as background not xml. it worked.
Praveen Chandrasekaran
That seems to work, but in landscape the aspect ratio is not correct, because the height for the background is smaller then the display width because of the title/notification bar. I can't define a scaleType to fix this, because a background definition can't be scaled :/
WarrenFaith
+2  A: 

Try just placing this inside the RelativeLayout and not using your background drawable:

<Drawable 
    android:src="@drawable/background_img" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent" 
    android:scaleType="fitCenter" />

Since elements inside the relativelayout can overlap, this oughta work, and using a Drawable in the layout independently instead of a Bitmap included as the element background_src might give you more flexibility.

Yoni Samlan
I had to use the ImageView tag, but it is what I need. Now I only need Android to support a scaleType which starts at the bottom like fitEnd but scale both axis to the parent view like centerCrop :)Thank you!
WarrenFaith