Android gif图使用
简介
在使用Android编写游戏时,会遇到使用gif图片的时候,但Android中一般不支持直接显示gif图片,本文介绍如何在Android中使用gif图,使用Photoshop创建gif图,以及开发中gif图显示指定次数(使用Photoshop)。
运行界面
Android中使用gif图
(1)在build.gradle中添加依赖
dependencies {
compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.+'
}
(2)在layout布局中使用gif控件
<pl.droidsonroids.gif.GifImageView
android:id="@+id/gif1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/gw01"/>
(2)在Java中动态添加gif控件
private LinearLayout layout;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.zz);
layout=findViewById(R.id.layout);
GifImageView gif=new GifImageView(this);
gif.setImageResource(R.drawable.gw01);
layout.addView(gif);
}
使用Photoshop创建gif图
(1)在Photoshop中切割gif素材
将素材拖入Photoshop,点击切片工具,在图片中右键选择划分切片,在划分切片中划分切片,点击确定。
点击文件菜单,选择存储为Web所用格式,依次选择图像,将图片格式选为PNG格式,点击存储,存储图片。
图片将分割存储。
(2)在Photoshop中制作gif图
在Photoshop中新建文件,点击窗口调出时间轴,将所有素材拖入文件中,点击复制所选帧,复制足够图像,在图层窗口点击眼睛,设置时间轴中所有图像的可视化(有眼睛为可见),调整每个图像的延迟时间。
点击文件菜单,选择存储为Web所用格式,将图片格式选为GIF格式,点击存储,存储图片。
gif图显示指定次数(使用Photoshop)
在Android开发中使用gif图有时需要gif图无限循环,有时需要gif图循环指定次数,一般gif图为无限循环。在Android代码中实现gif图循环指定次数需要大量代码,大量不同时长,不同gif图在代码中实现循环指定次数需要大量代码,一般没有特定要求可以使用Photoshop指定gif图循环次数,实现在程序显示时gif图循环指定次数。gif图最后一帧设置为透明,程序中gif图循环指定次数后界面中GifImageView为透明,不然界面会在gif图循环完成后显示gif图最后一帧。(GifImageView设置setBackgroundResource和setImageResource可以各一个,重复设置显示最后设置的gif图)
GifImageView gif1=findViewById(R.id.gif1);
gif1.setBackgroundResource(R.drawable.rw0);//设置GifImageView背景
gif1.setImageResource(R.drawable.tx01);//设置GifImageView图片