これは私の textSwitcher コードです:
<TextSwitcher
android:id="@+id/likes_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginRight="16dp"
android:layout_marginEnd="16dp"
android:inAnimation="@anim/slide_in_likes_counter"
android:outAnimation="@anim/slide_out_likes_counter">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:padding="8dp"
android:textColor="@color/black85"
android:background="#E0E0E0"
android:text="0" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:padding="8dp"
android:textColor="@color/deep_orange_500"
android:background="#E0E0E0"/>
</TextSwitcher>
実際にはいいねボタン用です。いいねをクリックすると、textSwitcher が上にスライドして新しいいいねの数を表示します。たとえば、0 から 1 になります。
これで、ボタンを 1 度クリックして取り消した後にもう一度クリックすると、再び上にスライドして 1 から 0 になったことを示します。
嫌いなときにスライドさせる方法はありますか?
ドキュメントはあまり語っていません: http://developer.android.com/reference/android/widget/TextSwitcher.html
これは、slide_in_likes_counter ファイルです。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="150"
android:interpolator="@android:anim/linear_interpolator">
<translate
android:fromYDelta="80%p"
android:toYDelta="0" />
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>
これは、slide_out_likes_counter ファイルです。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="150"
android:interpolator="@android:anim/linear_interpolator">
<translate
android:fromYDelta="0"
android:toYDelta="-80%p" />
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0" />
</set>