动画GIF,应该开始按钮点击动画

时间:2017-11-13 17:10:17

标签: android gif

我在点击时可以播放gif动画时遇到问题。我找到了关于如何将gif插入应用程序的教程,但所有这些GIF都会在您打开应用程序时立即开始动画,这是我不想要的。

我希望我的gif在点击它时开始制作动画。 我也想把这个gif作为一个按钮..所以当我点击这张图片/ gif它会开始动画,它也会发送一个特定号码的短信。

我将粘贴代码以获取按钮和我的MainActivity代码。 button source

2 个答案:

答案 0 :(得分:1)

你可以做的是将你的GIF分成PNG 和顺序命名约定,如果你有太多的帧你可以用于循环而字符串生成器来生成动画 - 列表,像这样:

Split GIF into Frames - ezgif.com

Compile Java Online - compilejava.net

<?xml version="1.0" encoding="utf-8"?>
    <animation-list xmlns:android="http://schemas.android.com/apk/res/android"
                    android:oneshot="true">

    <item
        android:duration="500"
        android:drawable="@drawable/ic_heart_1"/>

    <item
        android:duration="500"
        android:drawable="@drawable/ic_heart_2"/>

    <item
        android:duration="500"
        android:drawable="@drawable/ic_heart_3"/>

    <item
        android:duration="500"
        android:drawable="@drawable/ic_heart_4"/>

    <item
        android:duration="500"
        android:drawable="@drawable/ic_heart_5"/> // etc...

</animation-list>

创建此 animation_list_filling.xml

<ImageView
    android:id="@+id/imageview_animation_list_filling"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/animation_list_filling"
    />

活动XML

上设置 ImageView
ImageView mImageViewFilling = (ImageView) findViewById(R.id.imageview_animation_list_filling);
((AnimationDrawable) mImageViewFilling.getBackground()).start();

将此代码放在 onClickListener 上以启动您的GIF:

    $value = mysqli_fetch_field($resulty);
    $orderid = $value->orderId; 

希望它有所帮助。

答案 1 :(得分:0)

好的,我将我的评论转换成答案,因为这种解决方法实际上可以解决问题 也许一些未来的用户也可以利用这种“技术”。

  1.   

    but all those gifs starts to animate immediately when you open the app如果将动画GIF分割成帧,你可能会有更好的运气。   然后动画那些动画。

  2.   

    动画GIF只是一系列帧。他们马上玩。

  3.   

    I guess I have no other option then...实际上有另一种选择:在“介于两者之间”做一些事情。将第一帧显示为单个图像。单击时,加载动画版本   这应该是一个可行的解决方案:简单实用。