将多个连接应用于AndroidStudio中的ConstraintSet

时间:2018-11-27 22:08:23

标签: java android android-constraintlayout

我正在尝试以编程方式将车鸦的图像放置在约束布局内的正方形内。当我在xml中对其进行硬编码时,它可以正常工作,但是在使连接在Java代码中正常工作时,我遇到了一些麻烦。这是我写的:

    ImageView newRook = new ImageView(DigitalBoardActivity.this);
    newRook.setImageResource(R.drawable.chess_rdt60);
    ConstraintLayout constraintLayout = findViewById(R.id.constraintLayout);
    ConstraintSet set = new ConstraintSet();
    constraintLayout.addView(newRook,0);
    newRook.setId(View.generateViewId());
    set.clone(constraintLayout);
    set.connect(newRook.getId(), ConstraintSet.TOP, R.id.b1, ConstraintSet.TOP, 0);
    set.connect(newRook.getId(), ConstraintSet.RIGHT, R.id.b1, ConstraintSet.RIGHT, 0);
    set.connect(newRook.getId(), ConstraintSet.LEFT, R.id.b1, ConstraintSet.LEFT, 0);
    set.connect(newRook.getId(), ConstraintSet.BOTTOM, R.id.b1, ConstraintSet.BOTTOM, 0);
    set.applyTo(constraintLayout);

当我运行此代码时,什么都没有出现。但是,当我注释掉除“ set.connect”行之一以外的所有行时,rook似乎正确连接到我留下的任何连接。我不能多次调用set.connect吗?

编辑: 看来这只是一个尺码问题,对不起,如果我浪费任何人的时间。

0 个答案:

没有答案