我正在制作一个应用程序,我需要广泛使用动画。我的问题是,我通过Java向我的RelativeLayout添加了一些ImageViews。但接下来当我尝试添加另一个ImageView应用规则,如BELOW,ALIGN_LEFT等相对于之前添加的视图时,这些图像不会显示出来。这很烦人:(主要是,我的问题是,这些规则(LEFT,RIGHT_OF,BELOW等)是否适用于已经动态添加的视图?
答案 0 :(得分:1)
问:这些规则(LEFT,RIGHT_OF,BELOW等)是否适用于已经动态添加的视图
答案:是的,他们的工作很多。示例代码
public class BlurredImageTest extends Application {
private DoubleProperty effectHeight = new SimpleDoubleProperty(80);
@Override
public void start(Stage primaryStage) {
Image image = new Image("yourImage.jpg");
ImageView img = new ImageView(image);
Rectangle clip = new Rectangle();
clip.widthProperty().bind(image.widthProperty());
clip.heightProperty().bind(image.heightProperty().subtract(effectHeight));
img.setClip(clip);
ImageView imgEffect = new ImageView(image);
Rectangle clipEffect = new Rectangle();
clipEffect.widthProperty().bind(image.widthProperty());
clipEffect.heightProperty().bind(effectHeight);
clipEffect.translateYProperty().bind(image.heightProperty().subtract(effectHeight));
imgEffect.setClip(clipEffect);
imgEffect.setEffect(new GaussianBlur());
StackPane root = new StackPane(img, imgEffect);
primaryStage.setScene(new Scene(root));
primaryStage.show();
}
public final void setEffectHeight(double value) {
effectHeight.set(value);
}
public static void main(String[] args) {
launch(args);
}
}
你需要设置ID,然后给你想要为该视图添加的规则。