首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是摩托罗拉Xoom有绘图错误,还是只有我有问题?

是摩托罗拉Xoom有绘图错误,还是只有我有问题?
EN

Stack Overflow用户
提问于 2012-11-27 04:15:28
回答 2查看 182关注 0票数 4

我开发了一个小游戏,我的一个朋友/同事在他的摩托罗拉Xoom平板电脑上试用了它,结果发现渲染全搞砸了!我试着简化所有的东西,看看哪里出了问题,我认为摩托罗拉的Xoom在绘图方面有问题。两者使用完全相同的APK,具有完全相同的绘图代码。我有一个自定义视图,现在只是绘制一个黑色矩形,如下所示:

代码语言:javascript
运行
复制
@Override
public void draw(Canvas canvas) {
    super.draw(canvas);

    canvas.save();
    canvas.scale(16.0f, 16.0f);
    float lineWidth = 20 / 16.0f;

    paint.setAntiAlias(false);
    paint.setStyle(Paint.Style.STROKE);
    paint.setStrokeWidth(lineWidth);
    paint.setColor(boardColor); // boardColor is just black
    canvas.drawRect(100 / 16.0f,
                    100 / 16.0f,
                    200 / 16.0f,
                    200 / 16.0f,
                    paint);

    canvas.restore();
}

在我的Sprint Galaxy SII,Android 4.0.4上,我得到了(我在Galaxy SIII设备上也得到了这个):

在我朋友的摩托罗拉Xoom,Android 4.1.2上,我得到:

所有我想要的是一个大小正确的,非抗锯齿的矩形。我做错了什么?或者是Xoom?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-11 04:53:10

Stack Overflow用户

发布于 2012-11-27 04:36:52

你的伸缩方式有些奇怪。如果我去掉canvas.scale()并去掉rect中所有的“/16.0f”,那么rect看起来还不错。有了这些,我可以确认我的xoom显示了来自您朋友的xoom的奇怪的矩形。

所以,你需要找出一种不同的方法来缩放形状。

代码语言:javascript
运行
复制
mPixelsInOneDp = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1,
            res.getDisplayMetrics());

我使用那个"mPixelsInOneDp“来确保我的所有测量结果在不同设备上的DPs是相同的。我在缩放方面没有任何问题,所以我想最后你需要调整你的数字,直到它在xoom上看起来很好。

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

https://stackoverflow.com/questions/13572423

复制
相关文章

相似问题

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