重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
参考如下工具类,可以实现在android 中展示gif:
创新互联建站主营柳江网站建设的网络公司,主营网站建设方案,成都APP应用开发,柳江h5重庆小程序开发搭建,柳江网站营销推广欢迎柳江等地区企业咨询
MyGifView.java
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Movie;
import android.util.AttributeSet;
import android.view.View;
public class MyGifView extends View{
private long movieStart;
private Movie movie;
//此处必须重写该构造方法
public MyGifView(Context context,AttributeSet attributeSet) {
super(context,attributeSet);
//以文件流(InputStream)读取进gif图片资源
movie=Movie.decodeStream(getResources().openRawResource(R.drawable.keyboard));
}
@Override
protected void onDraw(Canvas canvas) {
long curTime=android.os.SystemClock.uptimeMillis();
//第一次播放
if (movieStart == 0) {
movieStart = curTime;
}
if (movie != null) {
int duraction = movie.duration();
int relTime = (int) ((curTime-movieStart)%duraction);
movie.setTime(relTime);
movie.draw(canvas, 0, 0);
//强制重绘
invalidate();
}
super.onDraw(canvas);
}
}
此工具类中,只做了2件事情。1,构造方法;2,重写了onDraw()方法。大家以后用的话,只需拷贝此类到你的工程下即可起作用。
这段时间研究了一段时间Android端增强现实的方式,总体分为两个大类:全景图和3D模型。
于是基于这两种形式,以三种方式来展示增强现实:
1.全景360°GIF,支持拖动,缩放。
2.展示3D模型
3.Google官方展示全景图探究
这篇博客就主要以展示为主吧,放上具体的效果Demo和使用方式,后面会有具体博客用于分析实现方式和技术难点的。
使用方式:
1.Add it in your root build.gradle at the end of repositories:
Step 2. Add the dependency
大家应该在京东和淘宝上见过这种效果吧:
我的实现效果图:
功能:
使用方式:
XML and Java
在京东上见到过这样效果的商品:
功能:
使用方式:
XML and Java
官方Demmo地址:
这篇博客主要展示一下功能吧,下面应该会分三篇博客,分别介绍前两种实现过程中的难点和技术点,和第三种也就是Google官方展示全景图,从源码角度看一下Google官方的实现方式。
这是正常现象。在android系统中,为了不影响正常使用,收到消息时,弹消息是在屏幕上方显示的,但由于消息内容太长,是无法全部显示的。