首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Android磨损观察面的问题发现中心

Android磨损观察面的问题发现中心
EN

Stack Overflow用户
提问于 2016-12-01 01:18:27
回答 2查看 199关注 0票数 0

我到处看过了,但什么也没成功。每次我尝试为我的手表脸找到屏幕中心时,它总是略高于屏幕的中央和屏幕的最右边(这与Android Studio的原始模板存在的问题不同,Android Studio的原始模板是稍微向上的,一直到屏幕的最左边)。我做错什么了?

(左边的第一张截图:我的问题。第二个屏幕截图:来自Android的Android磨损模板的原始形式)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Override
    public void onDraw(Canvas canvas, Rect bounds) {
        if (isInAmbientMode()) {canvas.drawColor(Color.BLACK);
        }
        else {
            canvas.drawRect(0, 0, bounds.width(), bounds.height(), mBackgroundPaint);
        }

        // Draw H:MM in ambient mode or H:MM:SS in interactive mode.
        long now = System.currentTimeMillis();
        mCalendar.setTimeInMillis(now);
        int width = bounds.width();
        int height = bounds.height();
        float centerX = width / 2f;
        float centerY = height / 2f;

        String text = mAmbient
                ? String.format("%d:%02d", mCalendar.get(Calendar.HOUR),
                mCalendar.get(Calendar.MINUTE))
                : String.format("%d:%02d", mCalendar.get(Calendar.HOUR),
                mCalendar.get(Calendar.MINUTE));
        canvas.drawText(text, centerX, centerY, mTextPaint);
    }

完整的代码可以找到这里

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-01 03:35:43

据我所知,从您的来源快速查看,您已经计算了mTextXOffsetmTextYOffset,但不使用它在您的抽签调用,因此文本来源是集中在您的问题屏幕截图,而不是文本中心。

通过centerXmTextYOffset来调整您的mTextXOffsetmTextYOffset应该可以做到这一点。

票数 3
EN

Stack Overflow用户

发布于 2016-12-01 08:53:19

如果使用中间点绘制文本,则可以使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 mTextPaint.setTextAlign(Paint.Align.CENTER);

它会从中间抽离。否则,x坐标表示正在绘制的文本的左侧。

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

https://stackoverflow.com/questions/40906657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文