首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓drawCircle兼容性问题

安卓drawCircle兼容性问题
EN

Stack Overflow用户
提问于 2014-03-20 19:58:54
回答 1查看 95关注 0票数 0

我有自定义窗口小部件闪烁圆圈在自定义频率。在我的onDraw方法中,我画了一个圆。

代码语言:javascript
复制
@Override
protected void onDraw(Canvas c) {
  super.onDraw(c);
  if (data[mBitIndex] == '1'){
    c.drawCircle(c.getWidth() / 2, c.getHeight() / 2, c.getWidth() / 2, mPaint);
  }
}

这在android 4.2.1上工作得很好,但是如果我在android 2.3上试一下,没有圆圈显示。我做了一些实验来确定这个问题

代码语言:javascript
复制
@Override
protected void onDraw(Canvas c) {
  super.onDraw(c);
  if (data[mBitIndex] == '1'){
    c.drawColor(mPaint.getColor());
  }
}

这和我预期的在两个版本的android上都能工作。但是,这是一个正方形,而不是我想要的圆形。

怎么可能画正方形而不画圆呢?我已经在互联网上搜索过了,但是以前没有人有这个问题,或者这只是我的问题。我不明白,谁能给我解释一下哪里错了?

EN

回答 1

Stack Overflow用户

发布于 2014-10-08 20:43:15

在Honeycomb (API 13)或更早的版本中,硬件加速有buggy,无法绘制圆。禁用视图的硬件加速:

代码语言:javascript
复制
setLayerType(View.LAYER_TYPE_SOFTWARE,null);

这对我很有效。

或者将targetSDKVersion设置为14或更高(这可能会导致其他问题)。

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

https://stackoverflow.com/questions/22532278

复制
相关文章

相似问题

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