我有一个列表视图。我想更改背景颜色和文本填充。我尝试过以下操作:
playlistView.setStyle("-fx-background-color: blue; -fx-text-fill: black;");
但是,这不起作用。但是,以下是有效的:
playlistView.setStyle("-fx-font-size: 24px; -fx-font-family: 'SketchFlow Print';");
你能告诉我如何让背景和文本填充工作吗?谢谢。
答案 0 :(得分:7)
您可以使用以下CSS样式:
.list-view .list-cell:even {
-fx-background-color: blue;
-fx-text-fill: black;
}
.list-view .list-cell:odd {
-fx-background-color: blue;
-fx-text-fill: black;
}
lisStyles.css
。将lisStyles.css
样式表的网址添加到场景中:
scene.getStylesheets().add(getClass().getResource("lisStyles.css").toExternalForm());
答案 1 :(得分:6)
您正在为ListView
设置样式,但背景颜色由列表单元格上的样式决定。因此,设计细胞样式。如果更改查找颜色-fx-control-inner-background
的值,则将保留备用行的“条带化”和更改的文本颜色,以便与背景形成对比。使用
.list-cell {
-fx-control-inner-background: blue ;
}
在外部样式表中。请注意,当背景很暗时,条纹非常微妙(几乎不可见):您可能希望使用
进行调整.list-cell {
-fx-control-inner-background: blue ;
-fx-control-inner-background-alt: derive(-fx-control-inner-background, 50%);
}
作为一种快速黑客,您可以直接在列表视图中设置该查找颜色,它将传播到它包含的单元格:
playlistView.setStyle("-fx-control-inner-background: blue;");
然而,在外部样式表中的单元格上定义它更好(更好的代码分离,更强大)。