public BasicView(String name) {
        super(name);



        Button b = new Button("test test test");

        this.getChildren().addAll(b);

        width = MobileApplication.getInstance().getScreenWidth();
        height = MobileApplication.getInstance().getScreenHeight();
        VBox box = new VBox();
        box.getChildren().add(b);
        setCenter(box);

        Text t = new Text(width/4,height/2,"OMG ITS TEXT ON THE SCREEN !!!! TEST TEST TEST TEST");
        t.setWrappingWidth(100);
        this.getChildren().add(t);
        b.setOnAction(e -> this.rotate(t));
        TextFlow tf = new TextFlow();
        Text t1= new Text("This text is not bold ");
        Text t2= new Text(",this part is,");
        t2.setStyle("-fx-font-weight: bold");
        t2.setFill(Color.RED);
        Text t3= new Text("and this part is italic");
        t3.setStyle("-fx-font-style: italic");
        tf.setPrefSize(30,30);
        tf.setMaxWidth(USE_PREF_SIZE);
        tf.getChildren().addAll(t1,t2,t3);
        tf.setStyle("-fx-background-color: red");

        tf.setLayoutX(100);
        tf.setLayoutY(100);

        this.getChildren().addAll(tf);

    }


android - JavaFX文本流忽略分配的背景颜色和大小-LMLPHP

所得的文本流不会自动换行并且没有背景色。文本的t3部分也不会以斜体显示。我曾尝试寻找答案,但一无所获。任何帮助将不胜感激。

编辑:我忘了提到我正在使用gluon移动插件,以便使用javaFx构建一个android应用程序。

最佳答案

Gluon的BorderPane视图extends,因此您应该将textFlow节点添加到五个可能位置之一(即到中心)。

否则,您将不得不注意其布局(调用resizeRelocate)。

例如,一旦将其添加到中心,它将具有适当的大小,将显示背景颜色,并且将包装内容。

至于斜体,Gluon Charm使用常规,中等和粗体的Roboto fonts。如果要使用斜体样式,则需要在资源(Roboto-Italic.ttf)中添加/src/main/resources/字体,然后只需加载它即可:

public BasicView(String name) {
    super(name);

    Font.loadFont(getClass()
            .getResourceAsStream("/Roboto-italic.ttf"), 10);

    TextFlow tf = new TextFlow();
    Text t1= new Text("This text is not bold ");
    Text t2= new Text(", this part is,");
    t2.setStyle("-fx-font-weight: bold");
    t2.setFill(Color.RED);
    Text t3= new Text(" and this part is italic");
    t3.setStyle("-fx-font-style: italic");
    tf.getChildren().addAll(t1,t2,t3);
    tf.setStyle("-fx-background-color: yellow");

    setCenter(tf);

}


android - JavaFX文本流忽略分配的背景颜色和大小-LMLPHP

09-05 02:07