更改选定的TabItem高度

时间:2018-05-13 21:16:57

标签: android xml layout tabs

我正在使用TabLayout,我正在寻找一种方法来改变所选TabItem的高度,所以这个比其他的更大。我尝试使用TabIndicator,但我只能改变它的颜色和大小,而不是它的位置(它总是在TabLayout内部,我需要将它放在它上面才能达到我需要的效果)。

有没有办法使用选择器或布局xml本身实现这个?

以下是所需效果的示例(左侧是所选标签):

enter image description here

这是我到目前为止的代码:

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">


        <android.support.design.widget.TabLayout
            android:id="@+id/tabLayout"
            app:layout_constraintBottom_toBottomOf="parent"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary"
            android:minHeight="?attr/actionBarSize"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:tabIndicatorHeight="0dp"
            app:tabBackground="@drawable/nav_item_color_state">
                <android.support.design.widget.TabItem
                    android:id="@+id/tab1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Tab 1"/>
                <android.support.design.widget.TabItem
                    android:id="@+id/tab2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Tab 2"/>
        </android.support.design.widget.TabLayout>

</android.support.constraint.ConstraintLayout>

1 个答案:

答案 0 :(得分:0)

我最终使用了两个按钮并创建了两个不同的drawable,用作背景中的选定/未选择状态。根本不优雅,但它有效。