首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android动态壁纸层&动态壁纸中XML的基础

Android动态壁纸层&动态壁纸中XML的基础
EN

Stack Overflow用户
提问于 2013-09-09 13:50:26
回答 1查看 1.9K关注 0票数 2

我的问题可能真的很简单。我最近学到为Android (以及一般的Android代码)创建实时壁纸,而且我缺乏的基本知识,因为它真的很难找到。

我想创建一个活墙纸与2(或更多)“层”。我的两个所谓的层次是:

  • 对接触事件作出反应的背景
  • 在顶部的位图

目前,我正在一个画布中绘制所有东西,如下所示:

代码语言:javascript
复制
Resources res = getResources();
Bitmap image = BitmapFactory.decodeResource(res, R.drawable.image);

        Canvas c = null;
        try {
            c = holder.lockCanvas();
            if (c != null) {
                c.drawARGB(aa, rr, gg, bb);
                c.drawBitmap(image, 0, 0, paint);
            }
        } finally {
            if (c != null) holder.unlockCanvasAndPost(c);
        }

它可以工作,但是性能确实很差,因为我在每个框架重绘上绘制这个相对较大的PNG文件。

我想知道在现场壁纸中显示位图的最佳方法是什么?以及以后如何动画他们(基本上只是改变的位置开始),而不必重新绘制他们每次?最后,如何确定Live壁纸中的z索引(有多个层)--这是否也可以像在“普通应用程序”中那样使用XML呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-09 15:06:27

今天,我在GitHub上发布了一个GitHub,它使用画布和一个单独的动画线程。如果你刚开始使用现场壁纸的话,你可能想看看它。

在您的例子中,您应该只解码一次位图,然后简单地绘制它。重新绘制每一个帧的位图没有什么错。如果您想拥有多个层,只需按顺序绘制它们,那么顶层将被绘制到最后。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18699786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档