我正在努力绑定一些文本指定的坐标,这样当我调整窗口大小时,文本就会紧随其后。这是我的代码部分:
if (extras.getString("bigview") != null) {
boolean bigview = Boolean.parseBoolean(extras.getString("bigview"));
if (bigview) {
mBuilder.setStyle(new NotificationCompat.BigTextStyle().bigText(message));
}
}
解释:petrolStations是一个坐标数组,用于在页面上放置一个字母1.
这是当前输出,因为你可以看到所有的1都在中间组合而不是在指定的坐标中。
编辑: 我已将1改为圆圈并设法扩大尺寸,但我仍然遇到同样的问题,因为所有坐标都在100以下它们位于左上角,我需要它们包含整个窗口并展开和分离为窗口调整得更大。
for (int i = 0; i < petrolStations.size() / 2; i++) {
int j = i + 1;
Text text1 = new Text(petrolStations.get(i), petrolStations.get(j), "1");
text1.setFont(Font.font("Courier", FontWeight.BOLD, FontPosture.ITALIC, 10));
text1.xProperty().bind(pane.widthProperty().divide(2));
text1.yProperty().bind(pane.heightProperty().divide(2));
pane.getChildren().add(text1);
答案 0 :(得分:0)
为什么不考虑x和y相对于宽度/高度的比例?看看这个:
Pane pane = new Pane();
Text text = new Text(250,250,"1");
pane.getChildren().add(text);
double width = 150;
double height = 150;
Scene scene = new Scene(pane, width, height);
double x = 50;
double y = 50;
double xRatio = x / width; //GET THE RATIO
double yRatio = y / width; //GET THE RATIO
text.xProperty().bind(pane.widthProperty().multiply(xRatio));
text.yProperty().bind(pane.heightProperty().multiply(yRatio));
stage.setTitle("Hello World!");
stage.setScene(scene);
stage.show();
当我运行此代码时,初始状态为:
调整大小后: