Как добавить интервал в виджет табуляции в Android?

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

Попытка сделать вкладки такими: alt text


person Eno    schedule 11.11.2010    source источник


Ответы (3)


Вам нужно установить разделитель между виджетами вкладок. Взгляните на разделители между TabWidgets.

person Peter Knego    schedule 11.11.2010
comment
Да, я устанавливаю разделитель в макете XML, но, похоже, он не работает. Я попробую сделать это программно, как предлагает ваша ссылка. Спасибо. - person Eno; 13.11.2010

Вы можете использовать этот код, чтобы сделать это

TabWidget widget = getTabWidget();
final int tabChildrenCount = widget.getChildCount();
LinearLayout.LayoutParams currentLayout;
for (int i = 0; i < tabChildrenCount; i++) {
    currentLayout = (LinearLayout.LayoutParams) widget.getChildAt(i).getLayoutParams();
    if (i == 0) {
        currentLayout.setMargins(10, 0, 5, 0);
    } else if (i == (tabChildrenCount - 1)) {
        currentLayout.setMargins(5, 0, 10, 0);
    } else {
        currentLayout.setMargins(5, 0, 5, 0);
    }
    currentLayout.height = 40;
}
widget.requestLayout();
person user1752772    schedule 17.10.2012

В приложении расписания ввода-вывода Google есть вкладки, которые выглядят точно так же, как у вас. Я проверял это приложение и просматривал его исходный код: http://code.google.com/p/iosched/ (на среднем скриншоте есть вкладки)

person Josh Clemm    schedule 11.11.2010
comment
Хороший звонок - это аккуратно выглядящее приложение, и чтение источника очень поучительно, так что спасибо за указатель. - person Eno; 13.11.2010