我正在尝试以编程方式将车鸦的图像放置在约束布局内的正方形内。当我在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吗?
编辑: 看来这只是一个尺码问题,对不起,如果我浪费任何人的时间。