2017-04-17 7 views
0

버튼에 드로어 블을 추가하여 바운스 효과를 줄 수 있도록 XML 파일을 사용하려고합니다. 쉬고있는 상태 크기는 1x1이어야합니다. 클릭 할 때 1에서 0.75로 이동 한 다음 0.75에서 1로 돌아와서 바운스처럼 보입니다.android statelistdrawable을 사용하면 버튼이 축소되어 원래 크기로 돌아갑니다.

기본적으로 기본 상태가 아무 것도 아니기를 바래요. 다른 코드가 기본 상태를 유발하고 바운스가 발생하면 바운스가 발생합니다.

그래서 3 개의 상태가 필요합니다. 1은 눌려졌고, 1은 기본값으로 돌아가고, 1은 기본값입니다.

내가 사용할 수있는 다른 상태가있어서 단추가 작아지고 기본값을 사용하지 않고 바운스처럼 다시 커지도록 할 수 있습니까?

코드

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> <!-- default state --> 
     <set android:ordering="together"> 
      <objectAnimator 
       android:duration="75" 
       android:propertyName="scaleX" 
       android:valueFrom="1" 
       android:valueTo="1" 
       android:valueType="floatType" /> 
      <objectAnimator 
       android:duration="75" 
       android:propertyName="scaleY" 
       android:valueFrom="1" 
       android:valueTo="1" 
       android:valueType="floatType" /> 
     </set> 
    </item> 

    <item android:state_pressed="true"> <!-- pressed state --> 
     <set android:ordering="together"> 
      <objectAnimator 
       android:duration="75" 
       android:propertyName="scaleX" 
       android:valueFrom="1" 
       android:valueTo="0.25" 
       android:valueType="floatType" /> 
      <objectAnimator 
       android:duration="75" 
       android:propertyName="scaleY" 
       android:valueFrom="1" 
       android:valueTo="0.25" 
       android:valueType="floatType" /> 
     </set> 

    </item> 

    <item android:state_selected="true"> <!-- selected state --> 
     <set android:ordering="together"> 
      <objectAnimator 
       android:duration="75" 
       android:propertyName="scaleX" 
       android:valueFrom="0.25" 
       android:valueTo="1" 
       android:valueType="floatType" /> 
      <objectAnimator 
       android:duration="75" 
       android:propertyName="scaleY" 
       android:valueFrom="0.25" 
       android:valueTo="1" 
       android:valueType="floatType" /> 
     </set> 
    </item> 
</selector> 

답변

1

기본 상태 이러한 상태를 사용

<item 
    android:state_pressed="false" 
    android:state_focused="false" 
    android:state_selected="false" 
    ...> 
+0

아, 지금은 그것을 얻을! 감사합니다 =) 완벽하게 작동했습니다 – JennHeart3

+0

upvote 잊지 마세요 :) –