Ширина Вкладку Панели Действий В Android Заполнить


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

Вот как это выглядит сейчас...

индикатор выполнения во вкладке

Индикатор выполнения устанавливается в соответствии с родительской шириной.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_margin="0dp"
>
        <TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/tab_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text = "Day 1"
        android:textAllCaps="true"
        android:textStyle="bold"
        android:textSize="13dp"
        android:layout_gravity="center"
        android:gravity="center"
        android:paddingTop="18dp"
        />

        <ProgressBar 
            style="@android:style/Widget.Holo.ProgressBar.Horizontal"
            android:id="@+id/tab_progress"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="1dp"
            />

</RelativeLayout>
1 3

1 ответ:

Решение состояло в том, чтобы реализовать пользовательскую тему для androidActionBarTabStyle. Это содержится для представления, определенного при использовании setCustomView Одна вещь, с которой я столкнулся, заключается в том, что при создании стиля в качестве темы он должен быть префиксом темы, например: Theme.MyTheme

Если вы не включаете префикс Theme., ваша тема не будет применена.

В файле стилей я определил этот стиль:

<style name="withProgress" parent="@android:style/Widget.Holo.Light.ActionBar.TabView.Inverse">
    <item name="android:padding">0dp</item>
</style>

А затем в теме.

<item name="android:actionBarTabStyle">@style/withProgress</item>

Как оказалось, это выглядит довольно плохо, но в случае, если кто-то ищет что-то подобное, вот как это делается.