Android Fragments API неправильно отображает фоновое изображение 9patch

Я переношу существующее приложение для Android в соты, API фрагментов и библиотеку совместимости. Я использую тот же макет, но загружаю его фрагментом. Фон представляет собой изображение с 9 патчами, но теперь оно покрывает только верхнюю левую четверть экрана. Остальной фон белый. Если я изменю фон на шестнадцатеричный цвет, он покроет весь экран. Такого никогда не было до перехода на фрагменты и раскладка не менялась. Я новичок в Android и очень плохо знаком с фрагментами, поэтому не уверен, что что-то упускаю. Похоже, проблема связана с образом 9patch, но я недостаточно хорошо разбираюсь в Android, чтобы с уверенностью сказать об этом.

Мой макет выглядит так:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/splash_background">

person CACuzcatlan    schedule 22.06.2011    source источник


Ответы (1)


Что-то, что я нашел, помогает, это переделать ваши изображения 9patch. У них есть области отступов, определяемые частями, которые вы обозначили как области, не относящиеся к содержимому.
Я обнаружил, что решение состоит в том, чтобы убедиться, что область содержимого определена по всему изображению, и сделать так, чтобы убедитесь, что растягиваемая область определена для больших ее частей, особенно если изображение с девятью участками велико по сравнению с экраном.
См. изображение с девятью участками ниже. Области содержимого выделены красным:
9patch image

Надеюсь, это поможет.

person Caspar Harmer    schedule 22.06.2011
comment
Большое спасибо! Вы спасли мой 9-патч ;) - person moozg; 23.06.2015
comment
Вау, это самое долгое время между ответом и плюсом! - person Caspar Harmer; 23.06.2015