Background in tab widget ignore scaling

2019-01-23 10:18发布

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?

2条回答
Anthone
2楼-- · 2019-01-23 10:41

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.

查看更多
一纸荒年 Trace。
3楼-- · 2019-01-23 10:48

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

<TabHost android:background="@drawable/background">
查看更多
登录 后发表回答