我在点击时可以播放gif动画时遇到问题。我找到了关于如何将gif插入应用程序的教程,但所有这些GIF都会在您打开应用程序时立即开始动画,这是我不想要的。
我希望我的gif在点击它时开始制作动画。 我也想把这个gif作为一个按钮..所以当我点击这张图片/ gif它会开始动画,它也会发送一个特定号码的短信。
我将粘贴代码以获取按钮和我的MainActivity代码。
答案 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
上设置 ImageViewImageView 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)
好的,我将我的评论转换成答案,因为这种解决方法实际上可以解决问题 也许一些未来的用户也可以利用这种“技术”。
but all those gifs starts to animate immediately when you open the app
如果将动画GIF分割成帧,你可能会有更好的运气。 然后动画那些动画。
动画GIF只是一系列帧。他们马上玩。
I guess I have no other option then...
实际上有另一种选择:在“介于两者之间”做一些事情。将第一帧显示为单个图像。单击时,加载动画版本 这应该是一个可行的解决方案:简单实用。