Задание фона вкладки с помощью рисованного списка слоев, влияющего на макет - PullRequest
0 голосов
/ 30 ноября 2010

Я пытаюсь установить собственный фон для вкладок в моем TabWidget.Они в значительной степени просто набор градиентов в форме прямоугольника, но я обнаружил, что, устанавливая фоновые рисунки, он удаляет разделитель по умолчанию между каждой вкладкой.Чтобы исправить это, я использовал список слоев, который можно нарисовать, чтобы наложить слой разделителя поверх вкладок.Однако теперь это влияет на макет самой вкладки, вызывая раздвигание изображения и текстовой метки.

Ожидаемый результат
Что я получаю, используя слой-лист для фона

Я просто использую это для настройки фона:

TabWidget tw = mTabHost.getTabWidget(); 
for (int i = 0; i < tw.getChildCount(); i++) { 
    View v = tw.getChildAt(i); 
    v.setBackgroundDrawable(getResources().getDrawable (R.drawable.tab_background)); 
}

Любые подсказки относительно того, почему это происходит, или предложения о том, что еще я могуделать вместо этого?

1 Ответ

1 голос
/ 30 ноября 2010

Кажется, что использование списка слоев в качестве фона сбрасывает все отступы в представлении на 0. Немного бессмысленно, учитывая, что фон, нарисованный концептуально, не должен влиять ни на что из этого, но что бы я нипредположим.Сохранение предыдущих отступов и их восстановление на прежнее состояние устраняет проблему.

...