Android – Custom View – Cùng tạo button “Like” sử dụng animation như Instagram/Facebook với StateListDrawable, StateListAnimator

<?xml version=”1.0″ encoding=”utf-8″?>

<

selector

xmlns:

android

=

http://schemas.android.com/apk/res/android

>

<

item

android:

state_checked

=

true

>

<

set

xmlns:

android

=

http://schemas.android.com/apk/res/android

>

<

objectAnimator

android:

duration

=

@android:integer/config_shortAnimTime

android:

propertyName

=

scaleX

android:

valueTo

=

1.550

android:

valueType

=

floatType

/>

<

objectAnimator

android:

duration

=

@android:integer/config_shortAnimTime

android:

propertyName

=

scaleY

android:

valueTo

=

1.550

android:

valueType

=

floatType

/>

<

objectAnimator

android:

duration

=

@android:integer/config_shortAnimTime

android:

propertyName

=

translationZ

android:

valueTo

=

5dp

android:

valueType

=

floatType

/>

<

objectAnimator

android:

duration

=

@android:integer/config_shortAnimTime

android:

propertyName

=

scaleX

android:

valueTo

=

1.0

android:

startOffset

=

@android:integer/config_shortAnimTime

android:

valueType

=

floatType

/>

<

objectAnimator

android:

duration

=

@android:integer/config_shortAnimTime

android:

propertyName

=

scaleY

android:

startOffset

=

@android:integer/config_shortAnimTime

android:

valueTo

=

1.0

android:

valueType

=

floatType

/>

<

objectAnimator

android:

duration

=

@android:integer/config_shortAnimTime

android:

propertyName

=

translationZ

android:

startOffset

=

@android:integer/config_shortAnimTime

android:

valueTo

=

0dp

android:

valueType

=

floatType

/>

</

set

>

</

item

>

<

item

>

<

set

>

<

objectAnimator

android:

duration

=

@android:integer/config_shortAnimTime

android:

propertyName

=

scaleX

android:

valueTo

=

1.550

android:

valueType

=

floatType

/>

<

objectAnimator

android:

duration

=

@android:integer/config_shortAnimTime

android:

propertyName

=

scaleY

android:

valueTo

=

1.550

android:

valueType

=

floatType

/>

<

objectAnimator

android:

duration

=

@android:integer/config_shortAnimTime

android:

propertyName

=

translationZ

android:

valueTo

=

5dp

android:

valueType

=

floatType

/>

<

objectAnimator

android:

duration

=

@android:integer/config_shortAnimTime

android:

propertyName

=

scaleX

android:

valueTo

=

1.0

android:

startOffset

=

@android:integer/config_shortAnimTime

android:

valueType

=

floatType

/>

<

objectAnimator

android:

duration

=

@android:integer/config_shortAnimTime

android:

propertyName

=

scaleY

android:

startOffset

=

@android:integer/config_shortAnimTime

android:

valueTo

=

1.0

android:

valueType

=

floatType

/>

<

objectAnimator

android:

duration

=

@android:integer/config_shortAnimTime

android:

propertyName

=

translationZ

android:

startOffset

=

@android:integer/config_shortAnimTime

android:

valueTo

=

0dp

android:

valueType

=

floatType

/>