对齐 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);
其中 paint
、top
和 centerX
之前都已初始化。前两个将取决于您的面部设计,而第三个是 Point
字段,可以在您的 onCreate
处理程序中设置,如下所示:
Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE))
.getDefaultDisplay();
display.getSize(displaySize);
centerX = displaySize.x / 2f;
或者,您可以使用 layout-based watch face 在 XML 中完成所有这些操作,但这可能适合也可能不适合您的需求。
我是 android 表盘开发的新手,遇到时间文本对齐的问题!我以两种格式显示时间,如何显示一种在顶部,一种在底部,居中对齐,如下图所示?是否有任何模式或布局?
在您的 onDraw
处理程序中调用 Canvas.drawText
时,您可以自行确定对齐方式。我使用这样的代码:
String msg = "Text to display";
float width = paint.measureText(msg);
canvas.drawText(msg, centerX - width / 2f, top, paint);
其中 paint
、top
和 centerX
之前都已初始化。前两个将取决于您的面部设计,而第三个是 Point
字段,可以在您的 onCreate
处理程序中设置,如下所示:
Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE))
.getDefaultDisplay();
display.getSize(displaySize);
centerX = displaySize.x / 2f;
或者,您可以使用 layout-based watch face 在 XML 中完成所有这些操作,但这可能适合也可能不适合您的需求。