Фон во вкладке виджета игнорирует масштабирование - PullRequest
1 голос
/ 09 марта 2010

Я пытался использовать фон (480x320) для содержимого вкладки. Используя xml как нарисованный, я должен быть в состоянии масштабировать изображение. Это прекрасно работает за пределами tabhost / tabactivity. Если я пытаюсь использовать его внутри tabcontent, scaleType не работает. Он игнорирует каждый масштаб, который я пробовал.

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 в 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"/>

Конечно, я проверил, действительно ли xml используется, изменив изображение, при этом изображение изменилось, поэтому используется xml.

Используемое масштабирование выглядит как fitXY, потому что виден весь фон, но соотношение сторон игнорируется.

Некоторые идеи?

Ответы [ 2 ]

2 голосов
/ 09 марта 2010

Попробуйте просто поместить это в RelativeLayout и не использовать фоновый рисунок:

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

Так как элементы внутри относительного макета могут перекрываться, этот способ работает, и использование Drawable в макете независимо от растрового изображения, включенного в качестве элемента background_src, может дать вам больше гибкости.

1 голос
/ 09 марта 2010

установить фон для тэга tabhost не в макете tabcontent. то есть

<TabHost android:background="@drawable/background">
...