Tablayout показывает границы вокруг вкладок в Android - PullRequest
0 голосов
/ 09 декабря 2018

Я обновил несколько вещей в моем проекте, например, с targetSdkVersion 27 до targetSdkVersion 28, обновил gradle

До этого все работало нормально, но после обновления мой tabLayout показывает границы вокруг вкладки, как показано на рисунке ниже.Как я могу решить эту проблему.Я искал эту проблему, но не смог увидеть ни одного вопроса, связанного с ней

enter image description here

на тот случай, если кто-то захочет увидеть мою вкладку xml

<android.support.design.widget.TabLayout
            android:id="@+id/available_bundle_details_tablayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginStart="@dimen/_23sdp"
            android:layout_marginEnd="@dimen/_23sdp"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toBottomOf="@id/lyt_available_bundle_detail_header"
            app:tabBackground="@drawable/tab_selection_state"
            app:tabGravity="fill"
            app:tabMode="fixed"
            app:tabSelectedTextColor="#506694"
            app:tabTextColor="#96506694"
            />

Вот tab_selection_state, который я использую как tabBackground

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- UNSELECTED TAB STATE -->
    <item android:state_selected="false" android:state_pressed="false">
        <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
            <!-- Bottom indicator color for the UNSELECTED tab state -->
            <item android:top="-5dp" android:left="-5dp" android:right="-5dp">
                <shape android:shape="rectangle">
                    <stroke android:color="#96506694" android:width="1dp"/>
                </shape>
            </item>
        </layer-list>
    </item>
    <!-- SELECTED TAB STATE -->
    <item android:state_selected="true" android:state_pressed="true">
        <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
            <!-- Bottom indicator color for the SELECTED tab state -->
            <item android:top="-5dp" android:left="-5dp" android:right="-5dp">
                <shape android:shape="rectangle">
                    <stroke android:color="#506694" android:width="2dp"/>
                </shape>
            </item>
        </layer-list>
    </item>
</selector>

1 Ответ

0 голосов
/ 09 декабря 2018

Границы исходят из ваших пользовательских элементов рисования, которые рисуют прямоугольник вокруг каждой вкладки.Трудно сказать, почему это происходит только с targetSDK = 28, но вы определенно можете это исправить, пересмотрев свои пользовательские рисунки.

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

...