изменение размера стандартной вкладки Android - PullRequest
2 голосов
/ 14 апреля 2011

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

Мой код в основном это

    height = (int) (height * context.getResources().getDisplayMetrics().density);

    for (int i = 0; i < tabWidget.getChildCount(); i++) {
        tabWidget.getChildAt(i).getLayoutParams().height = height;
    }

    tabWidget.getLayoutParams().height = height;

Проблема, с которой я сталкиваюсь, заключается в том, что вкладки имеют неожиданный вид в зависимости от высоты. Если я установлю высоту меньше 60, появится градиент, который поднимется только на 30 градусов по вертикали. Если я установлю его на 60 или выше, градиент поднимется до самого конца.

Я приложил картинку для иллюстрации. В верхних примерах нижние вкладки установлены на 30 провалов, нижние - на 40 провалов. В каждом примере верхний набор вкладок> = 60.

enter image description here

Кто-нибудь знает, как можно избавиться от градиента или заставить его покрыть всю вертикальную область?

Обновление:

Попробовал точный код изменения размера вкладки в демонстрационной версии виджета со вкладкой Hello и та же проблема. Что говорит мне, что я не могу что-то изменить при изменении размера, если эта стратегия сработала для кого-то другого

from api demo

1 Ответ

0 голосов
/ 14 апреля 2011

Попробуйте скрыть вид значка:

tabWidget.getChildAt(i).findViewById(android.R.id.icon).setVisibility(View.GONE);
...