Вопрос

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

вкладкасодержимое:

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

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

<TabHost android:background="@drawable/background">
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top