2015-01-15 1 views

답변

2

StateListAnimator를 사용하면 elevation을 포함한 View 속성에 애니메이션을 적용 할 수 있습니다. 기본 Button 구현에서는 StateListAnimator를 사용하여 비활성화되고 눌려진 상태 변경에 대한 응답으로 elevationtranslationZ 변경 사항을 처리합니다.

따라서 elevation 속성을 설정하는 대신 기본 Button 스타일은 stateListAnimator 속성을 사용합니다.

res/anim/button_state_list_anim_material.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" android:state_enabled="true"> 
     <set> 
      <objectAnimator android:propertyName="translationZ" 
          android:duration="@integer/button_pressed_animation_duration" 
          android:valueTo="@dimen/button_pressed_z_material" 
          android:valueType="floatType"/> 
      <objectAnimator android:propertyName="elevation" 
          android:duration="0" 
          android:valueTo="@dimen/button_elevation_material" 
          android:valueType="floatType"/> 
     </set> 
    </item> 
    ... 
+0

선택기가 ANIM 디렉토리에 허용되지 않은 : 여기

은에 대한 XML 같은 모습의 샘플입니다. – Horatio

+0

이것은 애니메이터 디렉토리에 있어야합니다. – Horatio