android -------- GifView 显示gif图片

2020-07-29  本文已影响0人  夜沐下的星雨

效果图

image

Android的ImageView是不支持GIF播放的,如果需要让ImageView支持GIF就需要做自定义View。主流图片加载框架中,如果要加载GIF,一般使用Glide。、

在app 的 build.gradle 中

implementation 'com.github.Cutta:GifView:1.4'

在Project的build.gradle中加入

allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
}

完整版

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

1:布局直接显示

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        >
        <com.cunoraz.gifview.library.GifView
            android:id="@+id/gif1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            custom:gif="@mipmap/gif1" />
 
 
 
        <com.cunoraz.gifview.library.GifView
            android:id="@+id/gif3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="15dp"
            />
 
    </LinearLayout>

2:代码

/***
     *  属性
     * 
     *   gifView1.setGifResource(R.mipmap.gif_start_stop);
     *   gifView1.play();
     *   gifView1.pause();
     *   gifView1.setGifResource(R.mipmap.gif5);
     *   gifView1.getGifResource();
     *   gifView1.setMovieTime(time);
     *   gifView1.getMovie();
     */
 
    private void show(){
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
 
                if (gifView1.isPlaying())
                    gifView1.pause();
            }
        });
        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
 
                if (gifView1.isPaused())
                    gifView1.play();
            }
        });
    }

代码文档:https://github.com/Cutta/GifView

上一篇下一篇

猜你喜欢

热点阅读