android movie 播放gif动画,显示.gif注意与android.graphics.Movie(Show .gif with and

开发者遇到一个问题,其创建的GIFView在Android模拟器上能正常显示GIF动画,但在实际智能手机上却无响应。问题可能与设备兼容性、资源加载或代码执行有关。GIFView类继承自View,并通过Movie类处理GIF动画。在MainActivity中,直接将GIFView实例设为内容视图。目前尚不清楚是代码、设备配置还是资源加载导致了问题。
摘要由CSDN通过智能技术生成

我想,创建一个GIF动画视图..

当我尝试在模拟器中运行的后续代码一切工作正常。 但是,当我在现实智能手机尝试运行,没有任何反应..

我的看法:

public class GIFView extends View {

private Movie mMovie;

private long movieStart;

public GIFView(Context context) {

super(context);

initializeView();

}

public GIFView(Context context, AttributeSet attrs) {

super(context, attrs);

initializeView();

}

public GIFView(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);

initializeView();

}

private void initializeView() {

InputStream is = getContext().getResources().openRawResource(

R.drawable.cookies2);

mMovie = Movie.decodeStream(is);

}

protected void onDraw(Canvas canvas) {

canvas.drawColor(Color.TRANSPARENT);

super.onDraw(canvas);

long now = android.os.SystemClock.uptimeMillis();

if (movieStart == 0) {

movieStart = (int) now;

}

if (mMovie != null) {

int relTime = (int) ((now - movieStart) % mMovie.duration());

mMovie.setTime(relTime);

mMovie.draw(canvas, getWidth() - mMovie.width(), getHeight()

- mMovie.height());

this.invalidate();

}

}}

我的活动:

public class MainActivity extends Activity {

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

GIFView gifView = new GIFView(this);

setContentView(gifView);

}}

我的智能手机屏幕截图:

6c1555302777729326ca3efa0910d9ec.png 我的模拟器截图:

6c1555302777729326ca3efa0910d9ec.png

为什么我的应用程序不会在智能手机上运行?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值