单击Android Pre-lollipop上的另一个选项卡后,Tablayout Drop Shadow消失

时间:2016-09-27 08:17:29

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

我正在尝试在tablayout之后创建一个投影,但它在我点击另一个标签后立即消失,或者我向下滚动它下方的视图寻呼机。这是我向下滚动后发生的事情。

第一次加载后出现阴影:

drop shadow appear

向下滚动后,投影消失:

drop shadow disappear

点击另一个标签后,投影也会消失:

drop shadow disappear after i clicked another tab

但是在我再次向上滚动并点击回到第一个目的地后,阴影再次出现!

drop shadow appears again!

我已经在搜索过了,但我似乎找到了答案。希望你们能帮助我。

我的代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:id="@+id/content_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar_lane"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/lighter_purple_99"
        android:elevation="4dp"
        android:gravity="center_vertical"
        android:paddingLeft="16dp"
        android:paddingTop="4dp">

        <ImageView
            android:id="@+id/img_lane_settings"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_gravity="right"
            android:layout_marginRight="14dp"
            android:src="@drawable/icn_settings" />

    </android.support.v7.widget.Toolbar>


    <android.support.design.widget.TabLayout
        android:id="@+id/tabs2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="?attr/actionBarSize"
        app:tabIndicatorColor="@color/white_100"
        android:background="@color/lighter_purple_99"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:elevation="4dp"/>

    <View
        android:id="@+id/shadow_below_tabs2"
        android:layout_width="match_parent"
        android:layout_height="8dp"
        android:layout_below="@+id/tabs2"
        android:background="@drawable/shadow"/>

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/tabs2"
        android:keepScreenOn="true"
        tools:context="TabActivity" />

</RelativeLayout>

drawable / shadow.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:startColor="@android:color/transparent"
        android:endColor="#ff000000"
        android:angle="90">
    </gradient>
</shape>

我已经尝试过了:

- AppBarLayout但它有一个投影背景,所以看起来很难看。

希望你能帮助我。提前谢谢!

1 个答案:

答案 0 :(得分:0)

解决了!

将阴影视图放在viewpager下面。这样,阴影将是最后一个显示并放置在viewpager顶部的阴影。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:id="@+id/content_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar_lane"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/lighter_purple_99"
        android:elevation="4dp"
        android:gravity="center_vertical"
        android:paddingLeft="16dp"
        android:paddingTop="4dp">

        <ImageView
            android:id="@+id/img_lane_settings"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_gravity="right"
            android:layout_marginRight="14dp"
            android:src="@drawable/icn_settings" />
    </android.support.v7.widget.Toolbar>

    <android.support.design.widget.TabLayout
        android:id="@+id/tabs2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="?attr/actionBarSize"
        app:tabIndicatorColor="@color/white_100"
        android:background="@color/lighter_purple_99"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:elevation="4dp"/>

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/tabs2"
        android:keepScreenOn="true"
        tools:context="com.dojomadness.lolsumo.activities.LaneActivity" />

    <View
        android:id="@+id/shadow_view"
        android:layout_width="match_parent"
        android:layout_height="4dp"
        android:layout_below="@id/tabs2"
        android:background="@drawable/shadow"
        />
</RelativeLayout>