1

當我嘗試爲AppBarLayout設置特定的高程值時,陰影完全消失。AppBarLayout上的高程不起作用

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:elevation="4dp"> 

    <!-- Toolbar --> 
    <android.support.v7.widget.Toolbar... 

    <!-- Other Layouts --> 

</android.support.design.widget.AppBarLayout> 

這是錯誤還是預期的行爲?

我正在使用設計庫的版本26.0.0。

回答

2

設置Property Animation

與執行時間1ms創建動畫:/animator/appbar_elevation.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item> 
    <objectAnimator 
     android:duration="1" 
     android:propertyName="elevation" 
     android:valueTo="2dp" 
     android:valueType="floatType" /> 
</item> 
</selector> 

將其設置爲AppBarLayout

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"  
    android:stateListAnimator="@animator/appbar_elevation"> 
</android.support.design.widget.AppBarLayout> 

它可以在Java代碼中使用。

appBarLayout.setStateListAnimator(AnimatorInflater.loadStateListAnimator(getContext(), R.animator.appbar_elevation)); 
+0

This Works,thanks!但在我看來,解決這個問題似乎很難辦。爲什麼需要添加動畫師? – marc97

+0

因爲某種方式不起作用。我還用其他方式。 – KeLiuyue

+0

@ marc97你能告訴我解決這個問題的方法嗎? – KeLiuyue