1

これは私の 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>
4

1 に答える 1