Skip to content Skip to sidebar Skip to footer

Usage Of Gif In Imagebutton

How to toggle between an animated GIF image and a static one in ImageButton's src when someone clicks it? in onCreate() I have this aButton3 = (ImageButton) findViewById(R.id.image

Solution 1:

I figured out a way and it was working absolutely fine. First I defined global variable

AnimationDrawable myFrameAnimation;

Then in onCreate() i defined the button with a variable.

aButton3 = (ImageButton) findViewById(R.id.imageButton3);

Then create a onClickListener() method for that button.

aButton3.setOnClickListener(newView.OnClickListener() {
        @OverridepublicvoidonClick(View v) {
            SharedPreferencessharedPreferences= getSharedPreferences("NAME", Context.MODE_PRIVATE);
            Booleane= sharedPreferences.getBoolean("clicked3", false);
            if (!e) {
                toggleSound.start();
                aButton3.setImageResource(R.drawable.trans);
                aButton3.setBackgroundResource(R.drawable.frame_animation);
                myFrameAnimation=(AnimationDrawable) aButton3.getBackground();
                myFrameAnimation.start();
                aButton4.setImageResource(R.drawable.reg1);
                def=1;
                count=1;
                sharedPreferences = getSharedPreferences("NAME", Context.MODE_PRIVATE);
                SharedPreferences.Editoreditor= sharedPreferences.edit();
                editor.putBoolean("clicked3", true);
                editor.commit();
                editor.putInt("clicked5", def);
                editor.commit();
                editor.putInt("clicked4", count);
                editor.commit();
            }
            if(e){
                toggleSound.start();

                aButton3.setBackgroundResource(R.drawable.frame_animation2);
                myFrameAnimation=(AnimationDrawable) aButton3.getBackground();
                myFrameAnimation.start();
                aButton3.setImageResource(R.drawable.newoff);
                aButton4.setImageResource(R.drawable.reg0);
                count=0;
                def=0;
                sharedPreferences = getSharedPreferences("NAME", Context.MODE_PRIVATE);
                SharedPreferences.Editoreditor= sharedPreferences.edit();
                editor = sharedPreferences.edit();
                editor.putBoolean("clicked3", false);
                editor.commit();
                editor.putInt("clicked4", count);
                editor.commit();
                editor.putInt("clicked6", def);
                editor.commit();
            }
        }
    });

Here "trans" is a purely transparent image so that my previous image before click does not show after click.

In "frame_animation" I defined all the frames of the image to get a perfect animated image

<animation-listandroid:oneshot="false"xmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:drawable="@drawable/pic1"android:duration="5" /><itemandroid:drawable="@drawable/pic2"android:duration="5" /><itemandroid:drawable="@drawable/pic3"android:duration="5" /><itemandroid:drawable="@drawable/pic4"android:duration="5" /><itemandroid:drawable="@drawable/pic5"android:duration="5" /><itemandroid:drawable="@drawable/pic6"android:duration="5" /><itemandroid:drawable="@drawable/pic7"android:duration="5" /><itemandroid:drawable="@drawable/pic8"android:duration="5" /><itemandroid:drawable="@drawable/pic9"android:duration="5" />

Post a Comment for "Usage Of Gif In Imagebutton"