对齐 Android Wear 表盘

Alignment on Android Wear Watch Face

我是 android 表盘开发的新手,遇到时间文本对齐的问题!我以两种格式显示时间,如何显示一种在顶部,一种在底部,居中对齐,如下图所示?是否有任何模式或布局?

在您的 onDraw 处理程序中调用 Canvas.drawText 时,您可以自行确定对齐方式。我使用这样的代码:

String msg = "Text to display";
float width = paint.measureText(msg);
canvas.drawText(msg, centerX - width / 2f, top, paint);

其中 painttopcenterX 之前都已初始化。前两个将取决于您的面部设计,而第三个是 Point 字段,可以在您的 onCreate 处理程序中设置,如下所示:

Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE))
                .getDefaultDisplay();
display.getSize(displaySize);
centerX = displaySize.x / 2f;

或者,您可以使用 layout-based watch face 在 XML 中完成所有这些操作,但这可能适合也可能不适合您的需求。