如何设置TabLayout透明保持我的图标和文本白色

时间:2016-02-05 19:52:59

标签: android xml layout android-tablayout android-appbarlayout

这是我的第一个问题,但我之前已经研究了很多。 所以我是Android开发的新手,我正在尝试基于新的ViewPager和TabLayouts设计自定义登录/签名活动。 问题是我正在尝试为我的两个标签AppBarLayout设置一个透明背景,但找不到适合我的任何东西。 我尝试了很多已发布的解决方案,似乎没有人适合我的情况。 最后一个是这里发布的:

How to set TabLayout background to transparent

但没有,我能得到的更好的是这样的: transparent background try

以下是获取此内容的布局代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:id="@+id/imageView2"
        android:layout_gravity="left|center_horizontal"
        android:background="#f2a0ef"
        android:contentDescription="@string/logDesc" />

    <RelativeLayout
    android:layout_width="340dp"
    android:layout_height="match_parent"
    android:layout_gravity="top|center_horizontal"
    android:layout_marginTop="-102dp"
        android:theme="@style/MyMaterialTheme"
        android:layout_marginBottom="80dp"
        android:transitionGroup="false">


        <android.support.design.widget.AppBarLayout
            android:id="@+id/appBarLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            android:background="@android:color/transparent">

            <android.support.design.widget.TabLayout
                android:id="@+id/tabs"
                android:layout_width="match_parent"
                android:layout_height="@dimen/custom_tab_layout_height"
                app:tabMode="fixed"
                app:tabGravity="fill"
                app:tabIndicatorColor="@color/colorPrimary"
                app:tabIndicatorHeight="4dp"
                android:background="@android:color/transparent"
                />
        </android.support.design.widget.AppBarLayout>



        <android.support.v4.view.ViewPager
            android:id="@+id/viewpager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            android:layout_alignParentEnd="false"
            android:layout_alignParentStart="false"
            android:layout_below="@+id/appBarLayout"
            android:background="#ffffff" />

</RelativeLayout>

</LinearLayout>

我认为不需要活动代码,如果是,请告诉我。 问题是我几乎得到它但当然不希望围绕标签的效果。 我真的坚持这个,不想在完成之前继续做事。 在此先感谢!!

2 个答案:

答案 0 :(得分:0)

在AppBarLayout外使用TabLayout

-(x-s) = -x + s

答案 1 :(得分:0)

我太傻了,奇怪的行为来自appBarLAyout小部件的阴影,如果设置在任何东西之上,因为设置选项卡的透明度会使它掉落一个奇怪的阴影,所以2天尝试使用impossibe使其工作,唯一需要做的就是将小部件的高度设置为“0dp”。

这是最终的代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:id="@+id/imageView2"
        android:layout_gravity="left|center_horizontal"
        android:background="#f2a0ef"
        android:contentDescription="@string/logDesc" />

    <RelativeLayout
    android:layout_width="340dp"
    android:layout_height="match_parent"
    android:layout_gravity="top|center_horizontal"
    android:layout_marginTop="-102dp"
        android:theme="@style/MyMaterialTheme"
        android:layout_marginBottom="80dp"
        android:transitionGroup="false">


        <android.support.design.widget.AppBarLayout
            android:id="@+id/appBarLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            android:background="@android:color/transparent"
            **app:elevation="0dp"**


            >

            <android.support.design.widget.TabLayout
                android:id="@+id/tabs"
                android:layout_width="match_parent"
                android:layout_height="@dimen/custom_tab_layout_height"
                app:tabMode="fixed"
                app:tabGravity="fill"
                app:tabIndicatorColor="@color/colorPrimary"
                app:tabIndicatorHeight="4dp"
                android:background="@android:color/transparent"
                />
        </android.support.design.widget.AppBarLayout>



        <android.support.v4.view.ViewPager
            android:id="@+id/viewpager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            android:layout_alignParentEnd="false"
            android:layout_alignParentStart="false"
            android:layout_below="@+id/appBarLayout"
            android:background="#ffffff" />

</RelativeLayout>

</LinearLayout>

和最终结果(我想要的那个):

final result

感谢!!!