zoukankan      html  css  js  c++  java
  • AppBarLayout折叠时候的阴影

    最近在项目中遇到一个需求,AppBarLayout在完全展开时没有阴影,在完全收缩时展示阴影,这个功能可以通过设置StateListAnimator的轻松的实现。

    首先,在res/animator目录下建立appbar_elevation.xml文件,如下:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto">
        <!--折叠状态下的阴影-->
        <item app:state_collapsed="true">
            <objectAnimator
                android:propertyName="elevation"
                android:valueTo="5dp"
                android:valueType="floatType" />
        </item>
        <!--展开状态下的阴影-->
        <item app:state_collapsed="false">
            <objectAnimator
                android:propertyName="elevation"
                android:valueTo="0dp"
                android:valueType="floatType" />
        </item>
    </selector>

    然后在布局文件里设置AppBarLayout的stateListAnimator属性,如下:

    <android.support.design.widget.AppBarLayout
         android:id="@+id/appbar"
         android:layout_width="match_parent"
         android:layout_height="256dp"
         android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
         android:background="@color/white"
         android:stateListAnimator="@animator/appbar_elevation"
        >

     目前发现AppBarLayout和CollapsingToolbarLayout结合使用时阴影才有效果

  • 相关阅读:
    LVM
    作业
    软件工程随笔
    woj1005-holding animals-01pack woj1006-Language of animals-BFS
    woj1002-Genesis woj1003-birthofnoah woj1004-noah's ark
    C++ new delete malloc free
    centos7+腾讯云服务器搭建wordpress
    C++ inline与operator
    next v5升级到next v7需要注意的地方
    python = 赋值顺序 && C++ side effect
  • 原文地址:https://www.cnblogs.com/rainboy2010/p/11809618.html
Copyright © 2011-2022 走看看