如果我创建一个节点数组,是否可以对每个节点进行过渡而无需为每个节点创建单独的过渡实例?
ArrayList<ImageView> leftScoringNodeBgArray = new ArrayList();
for (int i = 0; i<5; i++){
leftScoringNodeBgArray.add(new ImageView(leftScoringBgImage));
}
TranslateTransition leftTransition1 = new TranslateTransition();
TranslateTransition leftTransition2 = new TranslateTransition();
TranslateTransition leftTransition3 = new TranslateTransition();
TranslateTransition leftTransition4 = new TranslateTransition();
TranslateTransition leftTransition5 = new TranslateTransition();
leftTransition1.setNode(leftScoringNodeBgArray.get(0);
leftTransition2.setNode(leftScoringNodeBgArray.get(1);
leftTransition3.setNode(leftScoringNodeBgArray.get(2);
leftTransition4.setNode(leftScoringNodeBgArray.get(3);
leftTransition5.setNode(leftScoringNodeBgArray.get(4);
leftTransition1.setToX(300);
leftTransition2.setToX(400);
leftTransition3.setToX(500);
leftTransition4.setToX(600);
leftTransition5.setToX(700);
leftTransition1.setCycleCount(1);
leftTransition2.setCycleCount(1);
leftTransition3.setCycleCount(1);
leftTransition4.setCycleCount(1);
leftTransition5.setCycleCount(1);
SequentialTransition st = new SequentialTransition(leftTransition1, leftTransition2, leftTransition3, leftTransition4, leftTransition5);
st.play();
实际上,唯一改变的是最终的X位置。有没有一种方法可以在循环中创建所有转换,从而避免重复定义转换参数?
您可以像这样创建它们(并将它们添加到中SequentialTransition
):
ArrayList<ImageView> leftScoringNodeBgArray = new ArrayList<>();
SequentialTransition seq = new SequentialTransition();
for (int i = 0; i < 5; i++) {
leftScoringNodeBgArray.add(new ImageView(leftScoringBgImage));
TranslateTransition tr = new TranslateTransition();
tr.setNode(leftScoringNodeBgArray.get(0));
tr.setToX(300 + i * 100);
tr.setCycleCount(1);
seq.getChildren().add(tr);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句