【问题标题】:Tablayout is showing borders around tabs in androidTablayout 在 android 中显示选项卡周围的边框
【发布时间】:2018-12-09 14:41:38
【问题描述】:

我在我的项目中升级了一些东西,即从 targetSdkVersion 27targetSdkVersion 28,升级了 gradle

之前一切正常,但更新后我的 tabLayout 显示选项卡周围的边框,如下图所示。我该如何解决这个问题。我搜索了这个问题,但看不到任何与之相关的问题

以防万一有人想查看我的 tablayout 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"
            />

这是我用作tabBackgroundtab_selection_state

<?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>

【问题讨论】:

  • 可能是边距、阴影、边框……,各种原因。
  • 请发布您的drawable/tab_selection_state(以及从那里引用的drawable)。由于它们定义了您的标签的外观,我想边框必须来自那里的某个地方。

标签: android android-gradle-plugin android-tablayout


【解决方案1】:

边框来自您的自定义可绘制对象,它在每个选项卡周围绘制一个矩形。很难说,为什么这只发生在 targetSDK=28 上,但您绝对可以通过重新访问您的自定义可绘制对象来解决它。

尝试先删除矩形(或将颜色设置为透明),然后尝试将其逐步恢复以找出问题的确切原因。

【讨论】:

    猜你喜欢
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多