2010-03-09 3 views
1

Я попытался использовать фон (480x320) для содержимого моей вкладки. Используя xml как drawable, я должен иметь возможность масштабировать изображение. Это отлично работает за пределами 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 в разрешении/вытяжке

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

Постарайся просто помещая это внутри RelativeLayout и не использовать свой фон Drawable:

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

Поскольку элементы внутри RelativeLayout могут пересекаться, это Oughta работать, и с помощью растяжимой в макете независимо вместо Bitmap, включенного в качестве элемента background_src, может дать вам большую гибкость.

+0

Мне пришлось использовать тег ImageView, но это то, что мне нужно. Теперь мне нужно только Android для поддержки scaleType, который начинается внизу, как fitEnd, но масштабируйте обе оси до родительского вида, такого как centerCrop :) Спасибо! – WarrenFaith

1

установить фон ur tab tag не в макете tabcontent. что

<TabHost android:background="@drawable/background"> 
+0

Я пробовал это, результат: прозрачные вкладки, и я больше не вижу значки/текст вкладки (по крайней мере, на G2) – WarrenFaith

+0

Я пробовал только с изображением в качестве фона, а не xml. это сработало. – Praveen

+0

Это похоже на работу, но в ландшафте соотношение сторон неверно, потому что высота для фона меньше, чем ширина экрана из-за заголовка/панели уведомлений. Я не могу определить scaleType, чтобы исправить это, потому что определение фона не может масштабироваться:/ – WarrenFaith