安卓开发--显示GIF动图
1 使用ImageView布局
布局文件代码如下:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<ImageView
android:id="@+id/gif_image_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"/>
</FrameLayout>
2 添加 GIF 到项目文件
在\app\src\main\res\raw\
文件中放置我们的动图资源video.gif
3 在活动文件中使用 GIF 资源
代码如下:
package com.example.ecgphone.fragments;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.bumptech.glide.Glide;
import com.example.ecgphone.R;
public class OtherFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_other, container, false);
ImageView gifImageView = view.findViewById(R.id.gif_image_view);
// 使用Glide加载GIF图片
Glide.with(this)
.asGif()
.load(R.raw.video) // 这里放置你的GIF图片URL
.into(gifImageView);
return view;
}
}
4 补充
如果你遇到了"Glide"无法解析的问题Cannot resolve symbol 'Glide'
,可能是因为你的项目中没有正确添加Glide库的依赖项。
在你的项目的build.gradle
文件中添加了Glide
的依赖项,如下所示:
dependencies {
implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
}
而在Kotlin
中,使用.kts
文件扩展名表示Kotlin
脚本文件。应该确保build.gradle.kts
文件正确地使用了Kotlin
语法。
dependencies {
implementation("com.github.bumptech.glide:glide:4.12.0")
implementation("com.github.bumptech.glide:compiler:4.12.0")
}